Messorosh
Новичок
Надстройка к SQL - хранение объектов в виде специальной структуры
Есть идея написать модуль (точнее уже начал писать) для сохранения / использования объектов данных, представленных в виде структуры в SQL. Описание структуры чуть ниже. Вот хочу поинтересоваться - такое уже есть / это бред моего больного сознания / это полезная вещь.
Идея в следующем:
Объект представляет из себя набор полей, иерархически расставленных в виде дерева (то есть у поля может быть зависимое поле и т.д.). Каждое поле может иметь сколь угодно много значений. Значения зависимые поля существуют только в привязке к конкретным значениям родительских полей (исключение составляют поля, у которых не может быть значений). Каждое поле может быть наделено любым количеством флагов, представляющих собой пары name: value. Часть этих флагов - системные (то есть обрабатываются непосредственно модулем, например флаг типа или флаг максимального количества значений), остальные - пользовательские (могут использоваться для выборки отпределенных полей или сортировки полей).
Как-то не очень получается объяснить теоретически - возможно на примере будет понятней
Имеем изделие, которое сделано из различных материалов различных цветов, описываем таким объектом:
изделие{
материал
-> цвет
}
Экземпляр будет выглядеть так ("поле" (значение)):
изделие {
"материал" (пластик)
-> "цвет" (синий)
-> "цвет" (зеленый)
-> "цвет" (белый)
"материал" (ткань)
-> "цвет" (бежевый)
-> "цвет" (красный)
}
Без конкретного значения поля "материал" значение соответсвующего поля "цвет" не существует.
Значения могут быть нетипизированы, или типизированы с помощью соответсвующего системного флага, количество значений также может быть ограничено системными флагами (причем как минимальное так и максимальное их количество),
При ограничении количества значений сверху поле может работать как буфер, либо как стек.
Также классы могут наследоваться - но это уже отдельная история: будет обсуждение - буду пояснять свою мысль.
Есть идея написать модуль (точнее уже начал писать) для сохранения / использования объектов данных, представленных в виде структуры в SQL. Описание структуры чуть ниже. Вот хочу поинтересоваться - такое уже есть / это бред моего больного сознания / это полезная вещь.
Идея в следующем:
Объект представляет из себя набор полей, иерархически расставленных в виде дерева (то есть у поля может быть зависимое поле и т.д.). Каждое поле может иметь сколь угодно много значений. Значения зависимые поля существуют только в привязке к конкретным значениям родительских полей (исключение составляют поля, у которых не может быть значений). Каждое поле может быть наделено любым количеством флагов, представляющих собой пары name: value. Часть этих флагов - системные (то есть обрабатываются непосредственно модулем, например флаг типа или флаг максимального количества значений), остальные - пользовательские (могут использоваться для выборки отпределенных полей или сортировки полей).
Как-то не очень получается объяснить теоретически - возможно на примере будет понятней
Имеем изделие, которое сделано из различных материалов различных цветов, описываем таким объектом:
изделие{
материал
-> цвет
}
Экземпляр будет выглядеть так ("поле" (значение)):
изделие {
"материал" (пластик)
-> "цвет" (синий)
-> "цвет" (зеленый)
-> "цвет" (белый)
"материал" (ткань)
-> "цвет" (бежевый)
-> "цвет" (красный)
}
Без конкретного значения поля "материал" значение соответсвующего поля "цвет" не существует.
Значения могут быть нетипизированы, или типизированы с помощью соответсвующего системного флага, количество значений также может быть ограничено системными флагами (причем как минимальное так и максимальное их количество),
При ограничении количества значений сверху поле может работать как буфер, либо как стек.
Также классы могут наследоваться - но это уже отдельная история: будет обсуждение - буду пояснять свою мысль.