powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Каким образом лучше хранить набор данных, который будет меняться.
23 сообщений из 48, страница 2 из 2
Каким образом лучше хранить набор данных, который будет меняться.
    #34339836
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyНаример, технолог может решить, что в накладной надо указывать скажем ФИО водителя - он добавит новое поле и это поле будет у всех накладных.Если анализ показал, что у всех накладных должно быть поле "ФИО водителя", почему бы не добавить его в структуру таблицы? Я в том смысле, что пытаюсь нащупать те критерии, по которым уже реально нужен EAV, а стандартная технология не применима. Все же трудно спорить, что EAV-модель влечет много неудобств и недостатков, поэтому лепить ее где не попало, видимо, не стоит, не так ли?
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34339957
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir Bogdanov AndreyНаример, технолог может решить, что в накладной надо указывать скажем ФИО водителя - он добавит новое поле и это поле будет у всех накладных.Если анализ показал, что у всех накладных должно быть поле "ФИО водителя", почему бы не добавить его в структуру таблицы? Я в том смысле, что пытаюсь нащупать те критерии, по которым уже реально нужен EAV, а стандартная технология не применима. Все же трудно спорить, что EAV-модель влечет много неудобств и недостатков, поэтому лепить ее где не попало, видимо, не стоит, не так ли?

Ну так я о том и говорю, что добавление полей не простыми пользователями, а "аналитиками" - процесс гораздо более отвественный. Для таких случаев правильное решение - модифицировать структуру данных. А EAV нужно использовать тогда, когда изменение атрибутного состава производится совершенно "бесконтрольно" и никакая типизация - невозможна.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34340804
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raptor@x-plat.ruМало того после публикации этого поста еще добавилось 1 условие в задании, что конкретному объекту можно добавить свое поле, которого не будет у других.Что значит не будет у других?
Попытка добавить это поле другому объекту должна категорически пресекаться?
Или просто процент его заполнения очень мал?
Или это "личное" поле, и значения ему может присваивать только тот, кто его создал?
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34340948
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raptor@x-plat.ruСам клиент не будет извлекать данные - они ему будут web-сервисом передаваться. А свойства будут добавляться совершенно неизвестно когда как и сколько. Мало того после публикации этого поста еще добавилось 1 условие в задании, что конкретному объекту можно добавить свое поле, которого не будет у других.

Я бы начал с выяснения того "когда как и сколько" будет добавлятся атрибутов, поскольку постановка "совершенно неизвестно" неверна в корне. Разработчик системы должен это знать, иначе может оказаться, что ряд важных способов добавления не реализован, а те что реализованы нафиг не нужны.
Ответ на вопрос "сколько" тоже очень важен. Может быть каждый объект имеет уникальный класс (как раз то условие, которое добавилось). Тут скорее XML в помощь. Современные СУБД с поддержкой XML запросов как нибудь с этими данными справятся.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34341021
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyА EAV нужно использовать тогда, когда изменение атрибутного состава производится совершенно "бесконтрольно" и никакая типизация - невозможна.

EAV реализовать поразному можно. XML это тоже реализация EAV.
ИМХО, динамическая типизация возможна всегда. Вопрос в том, что "совершенно "бесконтрольно"", означает, что семантика новых типов будет известна только её автору. Зачем делать централизованное хранилище данных, если у каждого своя песочница?

Похоже автор темы пока ещё не сформулировал бизнес требования к системе, но уже пытается искать технические решения самого общего плана. Скорее всего, классов/сущностей просто очень много и время от времени будут появляться новые классы, но это не повод закладывать в систему абсолютную изменчивость. По крайней мере процедуры определения нового класса/сущности должны быть регламентированы.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34341282
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andrey Сахават Юсифов
Аналитики и настройщики такие же пользователи.

Ну все-таки не совсем "такие же".
Эти люди обепечивают технологию работы и использования системы в работе. И посему имеют дело не с отдельными экземплярами, а с группами экземпляров. Простые же пользователи (операторы) работают именно с отдельными экземплярами. Так вот если, модификацией атрибутики занимаются первые, то делают они для целых групп (классов) объектов. Ну а если модифицировать атрибутику должны вторые, то это значит, что собственный набор атрибутов будет у каждого объекта. Соответственно и способ реализации требуется разный.
Наример, технолог может решить, что в накладной надо указывать скажем ФИО водителя - он добавит новое поле и это поле будет у всех накладных. Другое дело, если оператор вдруг решил сам добавить в документ какую-то дополнительную информацию.

Потому и есть разделение. Атрибуты на уровне типа вводят одни, а на уровне объекта другие (права).
Т.е. - можно добавить "Цвет" типу "Материал", тогда при генерации объекта всегда будет предложено заполнить значение "Цвет". Но оператор может послать это дело и просто удалить "цвет" у конкретного объекта и/или добавить атрибут "процент сырости" который в списке атрибутов типа не значится, но имеется в домене атрибутов (доступ конечно тоже по правам).
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34341654
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Потому и есть разделение. Атрибуты на уровне типа вводят одни, а на уровне объекта другие (права).

Вопрос все-таки не в правах, а в способе реализации. Я утверждал, что способ реализации у этих атрибутов должен быть разный. Ну а права - это уже отдельная песня.

PS. Я пока никак не могу представить себе приложение в котором создание произвольных атрибутов операторами востребовано. Хотя вполне допускаю, что мне просто не приходилось с таким сталкиваться.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34341752
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andrey
PS. Я пока никак не могу представить себе приложение в котором создание произвольных атрибутов операторами востребовано. Хотя вполне допускаю, что мне просто не приходилось с таким сталкиваться.

Да возмите, например, самый такой востребованный справочник - справочник материалов и ПКИ (или там как говорят "Номенклатурные позиции").

У "Доска" - "материал", "ширина", "длина", "высота", "коэффициент сырости"...
У "Краски" - "тип", "цвет",..
У "Двигателя" - "мощность",..
у "Коробки" - "передаточное число",..
у "Штаны" - "количество карманов"

Когда мы это дело только учитываем, то эти атрибуты вроде и не нужны.
Но, когда мы собираемся это дела производить, получается совсем другой коленкор.
Если все это объединить, то получится справочник с сотнями атрибутов. А если не объединить, то сотни справочников.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34341941
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Да возмите, например, самый такой востребованный справочник - справочник материалов и ПКИ (или там как говорят "Номенклатурные позиции").

У "Доска" - "материал", "ширина", "длина", "высота", "коэффициент сырости"...
У "Краски" - "тип", "цвет",..
У "Двигателя" - "мощность",..
у "Коробки" - "передаточное число",..
у "Штаны" - "количество карманов"

Когда мы это дело только учитываем, то эти атрибуты вроде и не нужны.
Но, когда мы собираемся это дела производить, получается совсем другой коленкор.
Если все это объединить, то получится справочник с сотнями атрибутов. А если не объединить, то сотни справочников.

Замечательно. Вы сами привели типизацию своих объектов по количеству используемых атрибутов. Имеем тип "Штаны" с такими-то атрибутами, тип "Коробки" - с другими. Для разных типов - разные таблицы хранения атрибутов. Не вижу сложностей. Если вы собираетесь как-то использовать в системе эти атрибуты, то вам все-равно придется научится их программно идентифицировать. Если же они хранятся просто так, то все это можно назвать одним атрибутом "Описание изделия".
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34342031
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andrey Сахават Юсифов
Да возмите, например, самый такой востребованный справочник - справочник материалов и ПКИ (или там как говорят "Номенклатурные позиции").

У "Доска" - "материал", "ширина", "длина", "высота", "коэффициент сырости"...
У "Краски" - "тип", "цвет",..
У "Двигателя" - "мощность",..
у "Коробки" - "передаточное число",..
у "Штаны" - "количество карманов"

Когда мы это дело только учитываем, то эти атрибуты вроде и не нужны.
Но, когда мы собираемся это дела производить, получается совсем другой коленкор.
Если все это объединить, то получится справочник с сотнями атрибутов. А если не объединить, то сотни справочников.

Замечательно. Вы сами привели типизацию своих объектов по количеству используемых атрибутов. Имеем тип "Штаны" с такими-то атрибутами, тип "Коробки" - с другими. Для разных типов - разные таблицы хранения атрибутов. Не вижу сложностей. Если вы собираетесь как-то использовать в системе эти атрибуты, то вам все-равно придется научится их программно идентифицировать. Если же они хранятся просто так, то все это можно назвать одним атрибутом "Описание изделия".

Да этих типов - сотни, если не тысячи.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34342116
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyДля разных типов - разные таблицы хранения атрибутов.

Это не единственный способ. Можно разнотипные объекты хранить в одной таблице и даже под группу разных атрибутов использовать одно поле. Другое дело, насколько удобно будет работать с таким хашем. Кроме того процедура определения такой таблицы весьма нетривиальная. Так что проще всего под Штаны и Двигатели создавать разные таблицы, а слить их до кучи можно всегда.

Есть ещё момент, когда прекратить классификацию. Двигатели бывают электрические, паровые, внутреннего сгорания, гужевые и т.д.:o). Далее дизельные, карбюраторные, инжекторные. Турбинные или поршневые. Коллекторные, асинхронные, и д.р.

Положим, у нас есть паровые двигатели, стоит ли создавать подклассы Турбинные, Поршневые, Реактивные или лучше в классе Паровых двигателей определить атрибут принцип действия, который будет являться дискриминатором типа? Если использовать дискриминатор, то мы приходим к тому, что в одной таблице фактически будут храниться разнотипные объекты с общим суперклассом. Сегодня нам достаточно знать о двигателях только принцип действия, завтра нужно будет знать количество и размеры цилиндров, материал турбины, диаметр сопла, расход пара и т.д. Тут напрашивается создание отдельных таблиц и миграция данных. Или использовать "Описание изделия".

Подход "Описание изделия" не противоречит и созданию таблицы EAV, если она понадобится хотя бы как инвертированный файл для контекстного поиска, но управление этим индексом лучше поручить СУБД.
В общем XML и встроенные в СУБД механизмы трансформации данных и контекстного поиска, это мощное оружие в решении задачи.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34342217
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab Bogdanov AndreyДля разных типов - разные таблицы хранения атрибутов.

Это не единственный способ. Можно разнотипные объекты хранить в одной таблице и даже под группу разных атрибутов использовать одно поле. Другое дело, насколько удобно будет работать с таким хашем. Кроме того процедура определения такой таблицы весьма нетривиальная. Так что проще всего под Штаны и Двигатели создавать разные таблицы, а слить их до кучи можно всегда.


Мы вообще не знаем, будут там "штаны" или "Двигатель" или нет.
Как только решили что вмество "Ручки для толкания :)" будем использовать "Двигатель" появляется нужда в двигательях.
Неужто, сразу надо создать новую таблицу?


[quot mcureenab]
Есть ещё момент, когда прекратить классификацию. Двигатели бывают электрические, паровые, внутреннего сгорания, гужевые и т.д.:o). Далее дизельные, карбюраторные, инжекторные. Турбинные или поршневые. Коллекторные, асинхронные, и д.р.

Положим, у нас есть паровые двигатели, стоит ли создавать подклассы Турбинные, Поршневые, Реактивные или лучше в классе Паровых двигателей определить атрибут принцип действия, который будет являться дискриминатором типа? Если использовать дискриминатор, то мы приходим к тому, что в одной таблице фактически будут храниться разнотипные объекты с общим суперклассом. Сегодня нам достаточно знать о двигателях только принцип действия, завтра нужно будет знать количество и размеры цилиндров, материал турбины, диаметр сопла, расход пара и т.д. Тут напрашивается создание отдельных таблиц и миграция данных. Или использовать "Описание изделия".
[quot mcureenab]

А почему мы должны прекращать классификацию? Просто надо дать возможность ввести новый классификатор или подклассы в существующий.
Что Вы подразумевате под "Описание изделия"? Изделие имеет собственные атрибуты, а спецификации собственные. Некоторые атрибуты изделия наследуются от спецификаций, некоторые от процесса изготовления, некоторые приобретенные.

Я вот пытаюсь сейчас такую вещь сварганить.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34342286
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовА почему мы должны прекращать классификацию? Просто надо дать возможность ввести новый классификатор или подклассы в существующий.

классификатор = атрибут или новое значение в домене?

Пусть будет такая возможность, но рано или поздно нужно прекратить наращивать дерево классов и сосредоточится на их доменных атрибутах. Думаю, решение задачи останова и вообще принцип классификации будет зависеть от субъективных предпочтений пользователя, а это не очень хорошо. Кроме того, как я подозреваю, количество классов будет не многим меньше количества объектов. Похоже, направление строгой классификации и типизации в данном случае тупиковое. Нужно просто описывать атрибуты каждого конкретного объекта, а их классификацию возложить на систему или специалистов в этой области.

Сахават ЮсифовЧто Вы подразумевате под "Описание изделия"? Изделие имеет собственные атрибуты, а спецификации собственные. Некоторые атрибуты изделия наследуются от спецификаций, некоторые от процесса изготовления, некоторые приобретенные.

"Описание изделия" - атрибут реляционной БД, колонка в таблице. Для наполнения колонки можно использовать формат XML, где каждому тэгу соответствует некоторый атрибут или их группа.
Принципы наследования атрибутов от других объектов определяются на уровне приложения.
Нужно решить проблему поиска готовых типов, чтобы пользователю каждый раз не приходилось конструировать новый тип с нуля перебирая все существующие домены и оценивая их пригодность для описания изделия.
Время от времени придётся причёсывать БД, чтобы исключить опечатки, и прочие ошибки.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34342407
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab Сахават ЮсифовА почему мы должны прекращать классификацию? Просто надо дать возможность ввести новый классификатор или подклассы в существующий.

классификатор = атрибут или новое значение в домене?

Пусть будет такая возможность, но рано или поздно нужно прекратить наращивать дерево классов и сосредоточится на их доменных атрибутах. Думаю, решение задачи останова и вообще принцип классификации будет зависеть от субъективных предпочтений пользователя, а это не очень хорошо. Кроме того, как я подозреваю, количество классов будет не многим меньше количества объектов. Похоже, направление строгой классификации и типизации в данном случае тупиковое. Нужно просто описывать атрибуты каждого конкретного объекта, а их классификацию возложить на систему или специалистов в этой области.


Классификатор сам по себе. :) У них свои атрибуты из домена атрибутов.
Классификация - это как бы добавить атрибуты к существующим объектам скопом.
Типа множественнного наследования. Основные атрибуты от типа + классификационные, мягкие атрибуты. Типы и классификаторы могут быть агрегированы. Агрегатные объекты проверяются на соответствующий агрегатный тип. А агрегаты классификационные - дело пользователя.
Классификаторы - польностью дело пользователя. Да и типы (кроме некторых для данной предметной области.)

Сахават ЮсифовЧто Вы подразумевате под "Описание изделия"? Изделие имеет собственные атрибуты, а спецификации собственные. Некоторые атрибуты изделия наследуются от спецификаций, некоторые от процесса изготовления, некоторые приобретенные.

"Описание изделия" - атрибут реляционной БД, колонка в таблице. Для наполнения колонки можно использовать формат XML, где каждому тэгу соответствует некоторый атрибут или их группа.
Принципы наследования атрибутов от других объектов определяются на уровне приложения.
Нужно решить проблему поиска готовых типов, чтобы пользователю каждый раз не приходилось конструировать новый тип с нуля перебирая все существующие домены и оценивая их пригодность для описания изделия.
Время от времени придётся причёсывать БД, чтобы исключить опечатки, и прочие ошибки.[/quot]

Ну по хорошему все это будет использовано как часть проги описывающий предметнюю область. Что бы многократно это не делать решил выделить в отдельную часть описания предприятия.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34343803
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовНу по хорошему все это будет использовано как часть проги описывающий предметнюю область. Что бы многократно это не делать решил выделить в отдельную часть описания предприятия.

Больше смахивает на инструментарий разработчика, а не на продукт для конечного пользователя.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34343873
SergGol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab Сахават ЮсифовНу по хорошему все это будет использовано как часть проги описывающий предметнюю область. Что бы многократно это не делать решил выделить в отдельную часть описания предприятия.

Больше смахивает на инструментарий разработчика, а не на продукт для конечного пользователя.
А разьве одна роль отрицает наличие другой?
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34343900
SergGol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir
SergGol mirЕсли структура базы (в вашей озвучке ++ атрибуты таблиц) меняются не через день, а редко и очень обоснованно, то почему "создавать новый поля для существующих таблиц не приемлемый вариант"? ...Для добавления колонки в любом случае нужен исключительный доступ к таблице. Не во всех случаях это подходит.А что, поля добавляет пользователь в ран-тайме? Тада конечно. Но я говорил о другом случае, когда это -- задача административного характера.

А какая разница. Пусть административного. Значит время на администрирование увеличивается. Причем это разные администраторы. Тот, который по БД, вообще будет против каких-то добавлений полей.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34344639
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab Сахават ЮсифовНу по хорошему все это будет использовано как часть проги описывающий предметнюю область. Что бы многократно это не делать решил выделить в отдельную часть описания предприятия.

Больше смахивает на инструментарий разработчика, а не на продукт для конечного пользователя.

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

Больше смахивает на инструментарий разработчика, а не на продукт для конечного пользователя.

Разработчика нормативных процессов.
А дальше будет автогенерация сети возможных процесов и (при поступлении заказа на производство) и выбор оптимальной подсети для привязка процессов к реальным.
Ресурсам :)
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34344852
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа Workflow?

Значит тебя "Штаны" и "Двигатели" интересуют не нак объекты учета, а как спецификации? Тогда конечно, создавать таблицу "Штаны" нет никакого смысла, ведь по идее они все одинаковые.
Типа, нужна партия товара "Штаны галифе, арт. 12345". В систему заносим спецификацию и запускаем её в workflow. Вопрос, надо ли детализировать что такое "Штаны галифе, арт. 12345", или в пакете технологической документации это уже есть? Видимо, имеет смысл описать из каких деталей состоят штаны, а детали из материалов, указать технологические операции по производству заказу материалов и производству деталей. В итоге от абстрактных атрибутов чего то там непонятного, мы приходим к вполне понятным потокам "Специфкаций изделий", и "Специфкаций операций" в самом общем смысле.
Когда дело дойдёт до учета конкретных изделий, тогда можно подумать о создании соответствующих таблиц, но если экземпляры изделий отличаются только №№ партий, то можно учитывать "Партии" в общем смысле.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34345032
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabТипа Workflow?

Значит тебя "Штаны" и "Двигатели" интересуют не нак объекты учета, а как спецификации? Тогда конечно, создавать таблицу "Штаны" нет никакого смысла, ведь по идее они все одинаковые.
Типа, нужна партия товара "Штаны галифе, арт. 12345". В систему заносим спецификацию и запускаем её в workflow. Вопрос, надо ли детализировать что такое "Штаны галифе, арт. 12345", или в пакете технологической документации это уже есть? Видимо, имеет смысл описать из каких деталей состоят штаны, а детали из материалов, указать технологические операции по производству заказу материалов и производству деталей. В итоге от абстрактных атрибутов чего то там непонятного, мы приходим к вполне понятным потокам "Специфкаций изделий", и "Специфкаций операций" в самом общем смысле.
Когда дело дойдёт до учета конкретных изделий, тогда можно подумать о создании соответствующих таблиц, но если экземпляры изделий отличаются только №№ партий, то можно учитывать "Партии" в общем смысле.
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34345036
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Каким образом лучше хранить набор данных, который будет меняться.
    #34345044
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оттуда иду. :)
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Каким образом лучше хранить набор данных, который будет меняться.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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