powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Универсальное представление данных
138 сообщений из 138, показаны все 6 страниц
Универсальное представление данных
    #37042205
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Универсальное представление данных

Я вот проектирую для себя структуру данных для учета на предприятии и возникла интересная идея по универсальному представлению данных в некой базе данных. Фишка заключается в том, что мы разделяем представление данных в гридах, списках, лист контролах и т.п. и способ хранения данных. Визуальные таблицы данных у нас могут содержать неограниченное количество столбцов произвольного типа, а хранилище данных для любой таблицы всегда имеет фиксированную структуру в виде двух стандартных таблиц – таблицы метаданных и таблицы данных.

Первая таблица (метаданных) описывает поля таблицы данных, скажем, сотрудников (пусть это будет таблица № 10), например, в виде:

№ кол-ки Имя кол-ки Полное наим. Тип значения Длина в байтах Точность1 ПорНо Порядковый номер / индекс N 5 02 ТабНом Табельный номер N 5 03 ФамИО Фамилия И.О. C 21 04 Фамилия Фамилия сотрудника C 16 05 Имя Имя сотрудника C 12 06 Отчество Отчество сотрудника C 16 07 УкрФам Украинская фамилия C 16 08 УкрИмя Украинское имя C 12 09 УкрОтч Украинское отчество C 16 010 ИдКод Идентификационный код C 16 011 ДатаРожд Дата рождения D 8 012 ОснДатаПриема Основная дата приема D 8 013 ОснДатаУволн Основная дата увольнения D 8 014 ОснФирма Основное предприятие работы R 0 014 ОснПодр Основное подразделение работы R 0 015 ОснУчасток Основной участок работы R 0 016 ОснЧасТариф Основной часовой тариф N 9 517 ОснДнТариф Основной дневной тариф N 10 418 ОснМесОклад Основной месячный оклад N 12 2. . . . . . . . . . . . . . . . . .

(здесь N - число; C - строка; D - дата; R – ссылка, в виде номер (индекс) таблицы / номер (индекс) строки или ряда).

Вторая таблица (данных) содержит собственно данные, причем в их временном измерении. Т.е. любое поле таблицы, кроме первого, которое является ключевым индексом, может менять свое значение во времени. Если дата модификации данных не пуста, то данное поле конкретного ряда имеет новое значение с указанной даты. Поменялась дата модификации, поменялось значение. Поле вида: (Ряд, Колонка), может иметь или не иметь ссылку на строку другой таблицы, причем, в любом случае, оно представлено своим универсальным значением . Если ссылки нет, то универсальное значение это просто строковое представление числа, даты или самой строки. А если ссылка существует, то универсальное значение означает просто строковое представление (порядка 20 байтов) данного ссылочного объекта для целей сортировки .

Поскольку обе таблицы (данных и метаданных) имеют фиксированные колонки, то все они индексируются. Тем самым мы имеем универсальную индексацию всех полей базы данных.

Пример таблицы данных для справочника сотрудников (скажем, таблицы № 10) представлен ниже. Полагаем также, что таблица № 5 это таблица подразделений всех учитываемых в базе данных предприятий. Номера подразделений мы не описываем.

№ Ряда № Кол-ки Год модиф. Мес. модиф. День модиф. № ТаблСсылки № РядаСсылки Универс. значение. . . . . . . . . . . . . . . . . . . . . . . .1 14 5 1 ПродажОтдел1 14 2009 1 1 5 2 СнабженияОтдел1 14 2010 1 1 5 3 ВалютныхОперацийОтд1 14 2011 1 1 5 4 ТаможенныйОтдел. . . . . . . . . . . . . . . . . . . . . . . .1 18 10001 18 2009 1 1 20001 18 2010 1 1 30001 18 2011 1 1 4000. . . . . . . . . . . . . . . . . . . . . . . .

Т.е., у нашего абстрактного сотрудника (под порядковым номером 1) менялось основное подразделение работы и соответственно основной месячный оклад работы.

Таким образом, может быть описана любая таблица и даже вся база данных одним контейнером. Однако для Win32 не целесообразно объединять таблицы, так как есть ограничение на длину одного файла (2 – 4 гигабайта).

Поскольку мы имеем фиксированную структуру базы данных, полностью проиндексированную, то можно пользоваться дешевыми движками база данных, например Visual FoxPro или даже самописный движок, как у 1С77. При оптимальной организации данных, вполне можно получать приемлемые результаты для предприятий среднего уровня. Впрочем, ничего не мешает использовать промышленные сервера баз данных, например, MS SQL Server.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042217
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery, а что делает таблица №6, как она выглядит?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042219
sti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автору знакомо слово EAV?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042224
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stiавтору знакомо слово EAV?
не мешайте, он его изобретает. Только в еще более продвинутом виде.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042246
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmEmery, а что делает таблица №6, как она выглядит?
Прикалываетесь? Ее здесь нет, хотя она будет иметь похожую структуру.

iscrafmstiавтору знакомо слово EAV?
не мешайте, он его изобретает. Только в еще более продвинутом виде.
Понимаю, что новое это хорошо забытое старое. Но многие из нас выросли из 1С-овских штанишек и ее организация данных уже всех достала.

Посмотрел только что WIKI, довольно мудреное определение, у меня вроде проще. Вот еще накручено:
http://www.askdev.ru/question/3120/Использовать-ли-EAV-модель-данных/ .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042317
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryПонимаю, что новое это хорошо забытое старое. Но многие из нас выросли из 1С-овских штанишек и ее организация данных уже всех достала.

т.е. это идея для 1С-ников? От изменения названия суть не меняется. Потому что остальные просто используют нормальную организацию данных изначально.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042326
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вчера это поле было "видом овоща" сегодня уже "номером ТТН" а позавчера вообще "окладом"... а послезавтра наверное прийдется "курс валюты" там вести

просто замечательно и удобно потом будет генерить отчеты по такой структуре
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042331
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryУниверсальное представление данных

Я вот проектирую для себя структуру данных для учета на предприятии и возникла интересная идея по универсальному представлению данных в некой базе данных. Фишка заключается в том, что мы разделяем представление данных в гридах, списках, лист контролах и т.п. и способ хранения данных. Визуальные таблицы данных у нас могут содержать неограниченное количество столбцов произвольного типа, а хранилище данных для любой таблицы всегда имеет фиксированную структуру в виде двух стандартных таблиц – таблицы метаданных и таблицы данных.

Видимо Вы не удачно сформулировали достоинства своей идеи. Поскуку все СУБД типа разделяют храннеие (физический уровень) от логической структуры, и сама РМД предполагает представления данных отличные от базовых таблиц.

Вы, скорее, замахнулись на преодоление структурных ограничений РМД.
Действительно, она относится к структурированным, а Вы типа делаете некий каракас, куда моно запихнуть типа произвольные струтуры реального мира. Т.е. у Вас типа полуструктурированная МД.
На базе реляционных форматов это обычно EAV, а в более или менее по взрослому это XML, т.е. не реляционное представление, система запросров.
Смотртите, как проектировщик, Вы должны следовать неким типа критериям: простота, структурное соотвествие предметной области структурнам БД. Это Вы утрачиваете: у Вас структура это всего две таблы, не соотвествущеие реальному миру: одна описание данных, вторая типа аудита что-то. А выковырять структуры сущностей реального мира из них есче нуно. Причем с промощью реляционной системе запросов, поскоку сруктура рел формата. А ить простота извлечение инфы важнейшая цель сроздания БД. А бывают сложные запросы и для нормальной БД, а Вашей это все тока много усложнится. Навязывать ОЦ тоже стремней. Ить Вы остались в рамках реляционных средств.
Потому, раз Вы чувствуете в себе призвание, то, возможно, стоит сосредолточиться на решениях в корне отличных от РМД.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042342
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для начала ТС нужно попытаться ответить на простой вопрос: а зачем это все и что мешает сделать нормальную структуру данных?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042359
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmEmeryПонимаю, что новое это хорошо забытое старое. Но многие из нас выросли из 1С-овских штанишек и ее организация данных уже всех достала.

т.е. это идея для 1С-ников? От изменения названия суть не меняется. Потому что остальные просто используют нормальную организацию данных изначально.
Идея независима от 1С, хотя может быть применена и там, если писать конфигурации самому с нуля. Я не знаю, возможно ли отвязать представление данных в 1С-овском CListCtrl от соответствующих dbf-таблиц? Если бы я мог сам наполнять содержимое этих визуальных списков (да еще в виртуальном режиме), то в 1С77 можно было бы вдохнуть «вторую жизнь» :) . Тем не менее, организацию периодических реквизитов справочников 1С лучше делать по этой схеме. Тогда для каждого 1С-овского справочника должна будет создана таблица модификации всех реквизитов, кроме ключевого кода, которая может быть пустой, если поля основных таблиц не меняются во времени.

Что касается «нормальной организации данных», то если писать независимого клиента под некоторую базу данных, то уже ничем не ограничен. Однако данная структура, которая очень похожа на EAV, хотя EAV не предлагает отслеживание полей данных во времени, лично мне кажется вполне привлекательной, чтобы поэкспериментировать с ней.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042382
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmenвчера это поле было "видом овоща" сегодня уже "номером ТТН" а позавчера вообще "окладом"... а послезавтра наверное прийдется "курс валюты" там вести

просто замечательно и удобно потом будет генерить отчеты по такой структуре
Любое поле произвольной таблицы характеризуется своими координатами и временем модификации (если пусто, то без ограничений во времени), а также ссылкой на произвольную строку некоторой таблицы (если необходимо) и (всегда) своим 20-ти байтным универсальным (строковым) значением, используемым для сортировки. Скажем в 1С77 нельзя сортировать ссылочные объекты, так как фактически они сортируются по своему внутреннему идентификатору (36-тиричному значению), что бесполезно для практики. А у нас можно, ибо ссылка имеет еще свое 20-ти битное строковое представление.

Что касается отчетов, то не вижу никаких проблем. В своей собственной конфигурации 1С я написал собственный генератор отчетов уровня пользователя. Для этого широко использую предварительную обработку данных. Кстати, это весьма мощная идея, наряду с предварительной подготовкой (проводкой, расчетом) данных.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042389
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmдля начала ТС нужно попытаться ответить на простой вопрос: а зачем это все и что мешает сделать нормальную структуру данных?
Есть шанс упростить и стандартизировать учет на предприятии, причем на «легких» движках БД. Всех делов то, написать собственного клиента.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042400
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emeryiscrafmдля начала ТС нужно попытаться ответить на простой вопрос: а зачем это все и что мешает сделать нормальную структуру данных?
Есть шанс упростить и стандартизировать учет на предприятии, причем на «легких» движках БД. Всех делов то, написать собственного клиента.
к некоторой схеме данных вы добавляете, дополнительно, еще одну. И для нее предлагаете специализированного клиента, который будет это интерпретировать. В чем упрощение?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042438
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЧто касается отчетов, то не вижу никаких проблем. В своей собственной конфигурации 1С я написал собственный генератор отчетов уровня пользователя. Для этого широко использую предварительную обработку данных. Кстати, это весьма мощная идея, наряду с предварительной подготовкой (проводкой, расчетом) данных.

очень легко и просто вместо select sp358 from ra123 будет писать

select case when сm.sp36 between @NPeriod_1 and @KPeriod_1 then sp358 else sp89 end from ra123 (это если две модификации)

я просто предвкушаю себе удобство разработки и главное "сопровождения" в такой среде :)

в принципе как шаблон-конструктор для разработки некой начальной базы под конкретное решение идея имеет смысл быть но "только толкнули" сразу надо от неё уходить в область более-менее фиксированных структур с таблицами "по назначению"
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042448
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoВидимо Вы не удачно сформулировали достоинства своей идеи. Поскуку все СУБД типа разделяют храннеие (физический уровень) от логической структуры, и сама РМД предполагает представления данных отличные от базовых таблиц.
Сейчас только предварительное обсуждение, позже возможна публикация статей по результатам работы.

СУБД-то разделяют, более того многие сервера БД и клиентов могут не иметь. Задача состоит в написании собственного клиента подключаемого к некой внешней БД, организованной по предлагаемому варианту.

vadiminfoВы, скорее, замахнулись на преодоление структурных ограничений РМД.
Действительно, она относится к структурированным, а Вы типа делаете некий каракас, куда моно запихнуть типа произвольные струтуры реального мира. Т.е. у Вас типа полуструктурированная МД.
На базе реляционных форматов это обычно EAV, а в более или менее по взрослому это XML, т.е. не реляционное представление, система запросров.
Какие замашки? :) Идея очень простая и легко реализуется. Возможно только некоторые нюансы возникнут при организации реальных запросов. Но ничто не помешает искать нужные решения по мере поступления проблем :) .

EAV разжевывается очень нудно. Кто не в теме не поймет. Хотя эта идея очень простая, вместо хранения редких таблиц (даже многомерных) использовать хранение только их непустых элементов в таблицах фиксированной структуры. XML хорош как переносимый формат (экспорт / импорт / пересылка по сети), но в постоянной работе его использовать невыгодно.

Начинать экспериментировать я собираюсь на самопальном «движке» типа «1C Database Engine for .DBF, .CDX» (файл dbeng32.dll, размером всего 143 Кб), затем VFP Runtime, а потом уже можно будет пробовать платные и бесплатные sql сервера.

vadiminfoСмотртите, как проектировщик, Вы должны следовать неким типа критериям: простота, структурное соотвествие предметной области структурнам БД. Это Вы утрачиваете: у Вас структура это всего две таблы, не соотвествущеие реальному миру: одна описание данных, вторая типа аудита что-то. А выковырять структуры сущностей реального мира из них есче нуно. Причем с промощью реляционной системе запросов, поскоку сруктура рел формата. А ить простота извлечение инфы важнейшая цель сроздания БД. А бывают сложные запросы и для нормальной БД, а Вашей это все тока много усложнится. Навязывать ОЦ тоже стремней. Ить Вы остались в рамках реляционных средств.
Потому, раз Вы чувствуете в себе призвание, то, возможно, стоит сосредолточиться на решениях в корне отличных от РМД.
Опыт внедрения реальных конфигураций (100% собственных) на предприятиях у меня есть. Поэтому я не вижу никаких принципиальных трудностей (хотя это и не означает, что они не появятся в дальнейшем :) ) в реализации данной модели (адаптированной EAV). Ведь все поля предлагаемых таблиц будут проиндексированы. А любой SQL держится, по сути, на индексах. Только у нас, в силу фиксированности структуры БД все должно быть существенно проще.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042471
alneo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иерархические БД?
P.S. ПорНо - Порядковый Номер... Зачетно :-)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042497
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmEmeryЕсть шанс упростить и стандартизировать учет на предприятии, причем на «легких» движках БД. Всех делов то, написать собственного клиента.
к некоторой схеме данных вы добавляете, дополнительно, еще одну. И для нее предлагаете специализированного клиента, который будет это интерпретировать. В чем упрощение?
Как раз клиент должен быть универсальным. Существует множество универсальных серверов БД, но я не знаю, подходящих для меня, универсального клиента БД. Как вариант, я вижу подобного клиента написанного на MFC или Qt, так чтобы я мог легко конфигурировать пользовательский интерфейс (лучше, чем в 1С77) и самостоятельно обрабатывать сообщения вроде LVN_GETDISPINFO, LVN_ODCACHEHINT, LVN_ODFINDITEM и т.п., как для контрола SysListView32 . А уж функцию доставки данных можно уже реализовать вне клиента, на стороне сервера БД. Как идея, можно попробовать перехватывать данные уведомления в самой 1С77 и реализовывать отображение данных в списках только динамически . Тогда и «семерка» будет достойным кандидатом для экспериментов :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042525
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1CmenEmeryЧто касается отчетов, то не вижу никаких проблем. В своей собственной конфигурации 1С я написал собственный генератор отчетов уровня пользователя. Для этого широко использую предварительную обработку данных. Кстати, это весьма мощная идея, наряду с предварительной подготовкой (проводкой, расчетом) данных.

очень легко и просто вместо select sp358 from ra123 будет писать

select case when сm.sp36 between @NPeriod_1 and @KPeriod_1 then sp358 else sp89 end from ra123 (это если две модификации)

я просто предвкушаю себе удобство разработки и главное "сопровождения" в такой среде :)

в принципе как шаблон-конструктор для разработки некой начальной базы под конкретное решение идея имеет смысл быть но "только толкнули" сразу надо от неё уходить в область более-менее фиксированных структур с таблицами "по назначению"
Не понимаю, о чем Вы? Например, мой движок расчета заработной платы (из первичных табелей 1С77 во вторичные) реализован на VFP, который «общается» с «семеркой» как с DDE сервером. Чтобы избежать использования «неудобных имен» я автоматически сгенерировал VFP модуль типа:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 PUBLIC  gs_VidRaschId1243		&& Надбавка ИТР за высокие показатели в труде
gs_VidRaschId1243 = PADL("1Q",  6 ) + REPLICATE(" ",  3 )

 PUBLIC  gs_VidRaschId1245		&& Доплата за ненормированный рабочий день
gs_VidRaschId1245 = PADL("7Y",  6 ) + REPLICATE(" ",  3 )

 PUBLIC  gs_VidRaschId1246		&& Доплата по больничному листу до  100 % среднего заработка
gs_VidRaschId1246 = PADL("8J",  6 ) + REPLICATE(" ",  3 )

 PUBLIC  gs_VidRaschId5501		&& Перерасчет прошлых периодов
gs_VidRaschId5501 = PADL("9P",  6 ) + REPLICATE(" ",  3 )

 PUBLIC  gs_VidRaschId5502		&& Предварительный расчет будущих периодов
gs_VidRaschId5502 = PADL("9Q",  6 ) + REPLICATE(" ",  3 )

и пользуюсь себе удобными именами без проблем :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042553
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравая идея. Для постоянно меняющихся систем самое то.
Новый ф-л создается не путем создания новых таблиц или полей, а добавлением новых записей в готовый универсальный каркас.
Значения легко извлекать с пом. набора удобных SQL-функций.
Единственная проблема, ИМХО - производительность будет посредственной. Но это далеко не всегда боттл-нек.
Главное не доводить идею до маразма.
Пример такого маразма - строить абсолютно все информационные поля системы по этому принципу.
А вот как универсальный контейнер для справочников - самое оно.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042720
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто потрясающе, насколько одинце сносит башню. :( На мой взгляд, Emery, изначально кривые идеи нет смысла тиражировать.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042746
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery,
Я лишь хотел, чтобы Вы более критично относились к простеньким идеям.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042766
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alneoИерархические БД?
Пример для учета на предприятии можете привести?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042776
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЕдинственная проблема, ИМХО - производительность будет посредственной.
Производительность это, прежде всего, вопрос организации самих данных и доступа к ним. А идеи тут могут быть разные. Например, очень помогает предварительная обработка данных, «правильная» индексация и ее использование, собственно структура БД и т.д. Эта тема «вечная» :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042779
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Просто потрясающе, насколько одинце сносит башню. :( На мой взгляд, Emery, изначально кривые идеи нет смысла тиражировать.
Троллинг?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042780
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoEmery,
Я лишь хотел, чтобы Вы более критично относились к простеньким идеям.
Лучший критерий истины - практика :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042809
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Троллинг?

Нет. Четкая последовательная позиция. Полистайте форум.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042828
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryvadiminfoEmery,
Я лишь хотел, чтобы Вы более критично относились к простеньким идеям.
Лучший критерий истины - практика :) .
"Нет ничего практичней хорошей теории"
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042833
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Лучший критерий истины - практика :) . Ссылочной целостности нет, уникальности на уровне БД нет, запросы сложные донельзя см пост Last1Cmen
Да, все значения проиндексированы, но простая выборка одной строки размазана по всей таблице V (значения)
Emery причем в их временном измеренииБесплатных ланчей не бывает, а если не нужно хранить историю?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37042995
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Троллинг?

Нет. Четкая последовательная позиция. Полистайте форум.
А почему шифруемся?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043002
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительEmeryЛучший критерий истины - практика :) .
"Нет ничего практичней хорошей теории"
Как говорил декан одного физфака: «Дайте мне любую теорию, а эксперимент мы подгоним» :-) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043010
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЯ вот проектирую для себя структуру данных для учета на предприятии и возникла интересная идея по универсальному представлению данных в некой базе данных.

И Вам нужно посмотреть модель TransRelational Стива Тарена, чтобы быть, все-таки, в курсе того, что делается в этой области - в области хранения, а не представления, как Вы выразились, данных в БД [U.S. Patent and Trademark Office: Value-Instance-Connectivity Computer-Implemented Database. U.S. Patent № 6009432, 28.12.1999; для простого понимания см. Приложение 1 у Дейта]. Может тоже патент получите:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043019
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryВедь все поля предлагаемых таблиц будут проиндексированы.

А в TR индексы вообще не нужны:)
EmeryА любой SQL держится, по сути, на индексах.

Индексы не имеют никакого отношения ни к SQL, ни к РМД.
EmeryТолько у нас, в силу фиксированности структуры БД все должно быть существенно проще.
Скорее, наоборот. "Не фиксированная" структура вообще никак не усложняет работу с данными. А вот фиксированная, скорее всего, усложнит:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043021
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257EmeryЛучший критерий истины - практика :) . Ссылочной целостности нет, уникальности на уровне БД нет, запросы сложные донельзя см пост Last1Cmen
Да, все значения проиндексированы, но простая выборка одной строки размазана по всей таблице V (значения)
Ну, вообще-то, главная проблема в отсутствии универсального клиента, а не в организации доступа к данным. И кто нам мешает использовать для универсального клиента промышленные базы данных? Например, Вам не нужна история модификаций данных, а мне «ссылочная целостность» и «уникальность на уровне БД». За сложность запросов я также не переживаю, если я все контролирую, то и запросы оптимизирую под себя. Я ведь не средство разработки предлагаю, а конечное решение, конфигурацию, в терминах 1С. Причем, в этом случае нет необходимости в пользовательском творчестве по построению изощренных запросов. А все прогнозируемые, фиксированные запросы всегда можно свести к простому доступу по нужному индексу или группе индексов.

SERG1257Emeryпричем в их временном измеренииБесплатных ланчей не бывает, а если не нужно хранить историю?
Нет проблем, три поля по одному байту всегда будут пустыми и общих записей будет меньше. Так что не большая цена :-) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043030
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryКак говорил декан одного физфака: «Дайте мне любую теорию, а эксперимент мы подгоним» :-) .
В данном случае, нет того, подо что подгонять:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043032
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryНет проблем, три поля по одному байту всегда будут пустыми и общих записей будет меньше. Так что не большая цена :-) .
Еще какая проблема:) Во-первых, цена приличная, а, во-вторых, какие еще байты у пустых полей? Это вообще прошлый век в хранении данных:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043033
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmeryЯ вот проектирую для себя структуру данных для учета на предприятии и возникла интересная идея по универсальному представлению данных в некой базе данных.
И Вам нужно посмотреть модель TransRelational Стива Тарена, чтобы быть, все-таки, в курсе того, что делается в этой области - в области хранения, а не представления, как Вы выразились, данных в БД [U.S. Patent and Trademark Office: Value-Instance-Connectivity Computer-Implemented Database. U.S. Patent № 6009432, 28.12.1999; для простого понимания см. Приложение 1 у Дейта]. Может тоже патент получите:)
Спасибо за информацию! Только на патент данная идея не тянет, т.к. подпадает под довольно широкое определение EAV. Только у меня более конкретно, а у них более абстрактно, хотя для посторонних их идея малопонятная. Тем более, какие патенты в Эпоху Перемен? :-) .

Однако куда более актуальным является вопрос «идеального» клиента. Армия программистов со всего мира, пишет все, что угодно, кроме очень востребованного универсального клиента для различных серверов БД, так чтобы можно было контролировать процесс обмена данным между сервером и клиентом.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043039
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryОднако куда более актуальным является вопрос «идеального» клиента. Армия программистов со всего мира, пишет все, что угодно, кроме очень востребованного универсального клиента для различных серверов БД, так чтобы можно было контролировать процесс обмена данным между сервером и клиентом.
Под "идеальным клиентом" можно понимать только полностью управляемый пользователем интерфейс. А для этого нужна семантическая модель. Способ хранения не имеет к этому никакого отношения:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043044
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmeryВедь все поля предлагаемых таблиц будут проиндексированы.
А в TR индексы вообще не нужны:)
Выходит, что не нужны, по крайней мере, для тех задач, которые я решаю.

БредятинаEmeryА любой SQL держится, по сути, на индексах.
Индексы не имеют никакого отношения ни к SQL, ни к РМД.
Очень даже имеют, только движок БД скрывает это от пользователя, а если очень нужно, то сам индексирует, никого не спрашивая.

БредятинаEmeryТолько у нас, в силу фиксированности структуры БД все должно быть существенно проще.
Скорее, наоборот. "Не фиксированная" структура вообще никак не усложняет работу с данными. А вот фиксированная, скорее всего, усложнит:)
Типичное разночтение в терминологии :) . Мои собственные конфигурации в 1С77 и проще и эффективней стандартных, хотя сделаны по принципу «1С – Несовместимо!» :) . Там у меня «фиксированная» структура, пользователь работает только с настройками. А если вместо клиентской части 1С77 написать собственную, то будет еще более эффективное решение, даже на «легких» движках БД.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043050
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmeryНет проблем, три поля по одному байту всегда будут пустыми и общих записей будет меньше. Так что не большая цена :-) .
Еще какая проблема:) Во-первых, цена приличная, а, во-вторых, какие еще байты у пустых полей? Это вообще прошлый век в хранении данных:)
Имеется в виду ширина полей в байтах. Значения могут быть либо пустыми (символ «пробел»), либо символом нуля («0»), так как поля даты модификации строковые. Впрочем, символ с кодом NULL тоже допускается.

Три байта на миллион записей, дадут 3 мегабайта пустых данных. Это что проблема в эпоху терабайтных винтов?

А прошлый век или позапрошлый, мне ультрафиолетово, главное учет на предприятии ведется без проблем и, уверен, что бесплатное представление программы, найдет своих почитателей :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043054
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryОчень даже имеют, только движок БД скрывает это от пользователя, а если очень нужно, то сам индексирует, никого не спрашивая.

Индексы не имеют никакого отношения ни к SQL, ни к РМД. Это же факт:) А вы говорите о неудачных реализациях, которые что-то скрывают:) Вот когда тоступ к индексу обеспечивается в терминах модели данных, тогда, конечно, имеют отношение.
EmeryТипичное разночтение в терминологии :) . Мои собственные конфигурации в 1С77 и проще и эффективней стандартных, хотя сделаны по принципу «1С – Несовместимо!» :) . Там у меня «фиксированная» структура, пользователь работает только с настройками. А если вместо клиентской части 1С77 написать собственную, то будет еще более эффективное решение, даже на «легких» движках БД.
Никакого разночтения нет. Расширяемая, в том числе пользователем, структура никак ничего не может усложнить, даже теоретически:) А "фиксированная" структура, скорее всего, усложнит. Как и "фиксированная" структура холодильника или шкафа:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043055
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> А почему шифруемся?

Ни разу. Вы, наверное, просто недавно здесь.

> Мои собственные конфигурации в 1С77 и проще и эффективней стандартных

В данном случае опыт играет отрицательную роль. Попробуйте забыть про одинце - вы поразитесь, настолько много интересных решений вокруг.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043058
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmeryОднако куда более актуальным является вопрос «идеального» клиента. Армия программистов со всего мира, пишет все, что угодно, кроме очень востребованного универсального клиента для различных серверов БД, так чтобы можно было контролировать процесс обмена данным между сервером и клиентом.
Под "идеальным клиентом" можно понимать только полностью управляемый пользователем интерфейс. А для этого нужна семантическая модель. Способ хранения не имеет к этому никакого отношения:)
Так я и пишу: «чтобы можно было контролировать процесс обмена данными между сервером и клиентом». И речь мы сейчас ведем о клиенте, а не о сервере. С серверами БД проблем нет, они уже давно решены. А вот проблемы с «полностью управляемым пользователем интерфейсом» остались, хоть с «семантической моделью», хоть без нее :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043060
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryТри байта на миллион записей, дадут 3 мегабайта пустых данных. Это что проблема в эпоху терабайтных винтов?

Еще какая проблема. Не забывайте о каких "записях" Вы говорите:)
EmeryА прошлый век или позапрошлый, мне ультрафиолетово

Это только ухудшает перспективы:)
Emeryглавное учет на предприятии ведется без проблем и, уверен, что бесплатное представление программы, найдет своих почитателей :) .
Во-первых, он ведется без проблем и без "фиксированной" структуры.
А, во-вторых, когда найдет, тогда и можно будет обсуждать коммерческий успех. Мы же здесь не коммерческие аспекты обсуждаем, насколько я понимаю:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043062
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Emery]
Так я и пишу: «чтобы можно было контролировать процесс обмена данными между сервером и клиентом».

Это не имеет никакого отношения к управляемому интерфейсу и семантическому моделированию. А, следовательно, и к "универсальному клиенту":)
[quot Emery]
И речь мы сейчас ведем о клиенте, а не о сервере. С серверами БД проблем нет, они уже давно решены.

В этом и заключается самая большая проблема:) Ваша и Вашего подхода. Непонимание огромных проблем серверов БД, ориентированных на не эффективные модели данных:)
EmeryА вот проблемы с «полностью управляемым пользователем интерфейсом» остались, хоть с «семантической моделью», хоть без нее :) .
Нет никаких проблем... А что означает "без нее" понять, пока, не представляется возможным:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043065
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmeryОчень даже имеют, только движок БД скрывает это от пользователя, а если очень нужно, то сам индексирует, никого не спрашивая.
Индексы не имеют никакого отношения ни к SQL, ни к РМД. Это же факт:) А вы говорите о неудачных реализациях, которые что-то скрывают:) Вот когда тоступ к индексу обеспечивается в терминах модели данных, тогда, конечно, имеют отношение.
Тогда объясните мне, как делается запрос на выборку одного уникального элемента из базы, содержащей сто миллионов записей? При условии, что критерий поиска не индексирован. Обычный scan?

БредятинаEmeryТипичное разночтение в терминологии :) . Мои собственные конфигурации в 1С77 и проще и эффективней стандартных, хотя сделаны по принципу «1С – Несовместимо!» :) . Там у меня «фиксированная» структура, пользователь работает только с настройками. А если вместо клиентской части 1С77 написать собственную, то будет еще более эффективное решение, даже на «легких» движках БД.
Никакого разночтения нет. Расширяемая, в том числе пользователем, структура никак ничего не может усложнить, даже теоретически:) А "фиксированная" структура, скорее всего, усложнит. Как и "фиксированная" структура холодильника или шкафа:)
Лично я сыт по уши расширяемыми средствами разработки. Что хорошо программисту, то юзверю «смерть» :) . Особенно, если предлагаемые решения представляют собой полуфабрикат, сделанный по принципу, «нам с этой программой не работать». Чем грешит, пресловутая «1С». Мои пользователи работают на моих конфигурациях и горя не знают, а десяток различных перепробованных стандартных решений для 1С вызвали категорическую реакцию бухгалтеров: «То, что могут делать эти конфигурации, нам не нужно, а то, что нужно, они не могут». Про неудобство работы с ними и избыточную трудоемкость я вообще молчу. Так что мы ведем достаточно беспредметный спор, так как исходим из разного контекста и собственного опыта.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043071
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> А почему шифруемся?

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

guest_20040621> Мои собственные конфигурации в 1С77 и проще и эффективней стандартных

В данном случае опыт играет отрицательную роль. Попробуйте забыть про одинце - вы поразитесь, настолько много интересных решений вокруг.
Меня интересует универсальный клиент с конфигурируемым интерфейсом, виртуальным режимом для контрола списка / грида, типа как для SysListView32, поддержка групп, возможность привязки к дереву, типа SysTreeView32, перехват сообщений виртуального режима. Что можно взять из Вашего множества «интересных решений вокруг» для этих целей?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043083
Tolka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем для определения "историчности" записи заводить 3 отдельных поля? Кто-то когда-то будет задаваться вопросом, покажи записи, которые менялись по вторникам? Достаточно одного простого date поля

А что если нужна и история и быстродействие?

В EAV мы получаем развёртку сущностей по полям Nсущ*Nполей. А у вас, насколько я понял, получается Nсущ*Nполей*Nист...

берём среднюю таблицу с данными на несколько миллионов. Сущность имеет 20 атрибутов и 10 исторических записей. Получаем 10^6*20*10 = 2*10^8 = 200 млн записей...

как будет работать?

теперь принимаем, что у одной сущности один из строковых атрибутов, скажем 10 символов, а у другой - 100, а у третьей - 500. И все они славно так проиндексированы одним индексом. Какой индекс будет работать быстрее? По 200 млн записей и средней длине 250 символов или по 3 миллионам и средней длине 10 символов?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043085
Tolka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а про универсальный клиент вообще не въехал...о чём разговоры

это драйвер или гуи? Если гуи, то какое отношение он имеет к структуре базы?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043124
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmeryИ речь мы сейчас ведем о клиенте, а не о сервере. С серверами БД проблем нет, они уже давно решены.
В этом и заключается самая большая проблема:) Ваша и Вашего подхода. Непонимание огромных проблем серверов БД, ориентированных на не эффективные модели данных:)
Вы знаете мои проблемы лучше меня :) ?
Мои модели реально работают и фактически кормят меня. Я знаю, как еще улучшить их работу. Но мне нужен универсальный (идеальный) клиент. Я могу и пытаюсь писать его сам. Но это отнимает много времени. Начнем с того, что нет 100%-но подходящего грида / списка. Затем нет хорошего конфигуратора интерфейса, «отвязанного» от источника данных. Меня не устроит любой грид. Лучший, из бесплатных с исходниками, что я знаю, это грид Криса Маудера (Chris Maunder). Затем идет грид Алькса (ALX или Алексей Долгачев), затем различные расширения CListCtrl (SysListView32), вроде GfxList. Грид Алькса не поддерживает виртуального режима и групп. Грид Криса Маудера поддерживает виртуальный режим, но не поддерживает групп. SysListView32 очень хорош, но имеет скрытые параметры (т.е. намеренные ограничения для пользователя), Кроме того, для SysListView32 нужно самому писать инлайн редактирование. И так далее, подходящий грид найти очень сложно. А то, что нравится одним, может не понравится другим. Пока я юзаю SysListView32, особенно мне нравится этот контрол из Win7, но он не работает под ХРюшу. Несмотря на то, что примеров реализации инлайн редактирования существует много, реализованы они неудовлетворительно для меня. Как говорят, если хочешь, чтобы работа была сделана хорошо, нужно делать ее самому. Вот и занимаюсь списком SysListView32, вместо того, чтобы писать бизнес приложения :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043152
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tolkaзачем для определения "историчности" записи заводить 3 отдельных поля? Кто-то когда-то будет задаваться вопросом, покажи записи, которые менялись по вторникам? Достаточно одного простого date поля
Чтобы ответить на Ваш вопрос, достаточно вести логгирование (журналироваие) изменений базы данных. История нужна, чтобы отслеживать, скажем, факт того, что Иванова, после замужества, стала Петровой, а кто-то может быть вообще пол сменил :) .
У сотрудника одновременно может быть несколько назначений, табельных номеров, графиков работы и т.д. Один, из которых, считается основным (для вывода информации в отчетах по сотрудникам). Те, кто на подмене, в разные периоды времени должны отображаться в разных подразделениях, и т.д. и т.п. Очень полезно такие реквизиты делать периодическими, что удобно для отслеживания, скажем, нескольких приемов увольнений в данную контору. Я не знаю случая из своей практики, чтобы нужна была история модификаций полей данных с точностью меньшей, чем сутки. Может быть Вы, к примеру, на почасовой оплате, когда Ваша ставка с 8:00 до 10:00 утра была одна, с 10:00 до 12:00 другая, а ближе к вечеру третья. И нужно составить отчет по сотрудникам, упорядоченный по размерам их ставок на время 12:30. Если нужна такая точность, то придется, конечно, вводить кроме даты еще и время модификации поля данных. Только сомневаюсь, что такая точность будет реально востребована. Даже когда человек работает посменно, и его смена переходит с одного дня на другой и в этот день ему повысили зарплату, то вряд ли потребуется точность фиксации повышения оклада с точностью до полусмены. Так что любая база данных всегда не абсолютна и очень часто компромиссна между желанием учесть больше информации и возможностью ее обработать и хранить. Я обычно ориентируюсь на реальную обстановку с небольшим запасом.

Что касается трех однобайтовых полей для даты модификации. Это сделано для удобства составления запросов. С атомарной информацией легче работать и меньше делать различных преобразований.

TolkaА что если нужна и история и быстродействие?

В EAV мы получаем развёртку сущностей по полям Nсущ*Nполей. А у вас, насколько я понял, получается Nсущ*Nполей*Nист...

берём среднюю таблицу с данными на несколько миллионов. Сущность имеет 20 атрибутов и 10 исторических записей. Получаем 10^6*20*10 = 2*10^8 = 200 млн записей...

как будет работать?

теперь принимаем, что у одной сущности один из строковых атрибутов, скажем 10 символов, а у другой - 100, а у третьей - 500. И все они славно так проиндексированы одним индексом. Какой индекс будет работать быстрее? По 200 млн записей и средней длине 250 символов или по 3 миллионам и средней длине 10 символов?
Неправильно так перемножать. Возьмем для примера «плоскую» таблицу сотрудников. Ввод времени модификации делает ее формально «трехмерной». Только «третье» измерение будет очень редким. Скажем, та же Иванова стала после замужества Петровой, а затем, после второго замужества, Сидоровой. Это дает только две дополнительные записи к «плоской» таблице сотрудников. Далее, пусть Вася Пупкин три раза принимался на нашу работу и два раза увольнялся. Это дает дополнительно еще 3 записи. И так далее. Т.е. для редкой истории (не зря фирма «1С» называет справочники «условно-постоянной» информацией) «третье измерение» не перемножается, а суммируется. Там же, где фиксируются операции и на их основе документы, может потребоваться учет до минуты. Но это будет учет не в «третьем измерении», а во «втором». Документы не должны содержать периодических реквизитов. После их проведения, все ссылки замещаются их значениями на время проведения и данные документов фактически замораживаются. Другое дело, если Вы делаете перепроведение. Тогда данные могут «разморозится». Т.е. «трехмерными» могут быть только первичные таблицы (справочники или таблицы определений), а документы (вторичные таблицы – таблицы операций или таблицы отношений) всегда должны быть только «плоскими».
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043156
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tolkaа про универсальный клиент вообще не въехал...о чём разговоры

это драйвер или гуи? Если гуи, то какое отношение он имеет к структуре базы?
«Универсальный клиент» это конфигурируемый интерфейс представления данных без привязки этих данных к источнику данных. Обмен данными между Сервером БД и Универсальным Клиентом должен программироваться «вручную» и в принципе не должен зависеть от Сервера БД. Т.е. программист сам делает запросы к Серверу БД на основе уведомлений (желательно) виртуального режима представления данных Универсального Клиента. Где-то так :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043194
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Вы прячетесь за анонимным логином

Делать мне больше нефиг. Сколько себя здесь помню, столько и пользуюсь этим логином.

> Ни профиля посмотреть, ни количество Ваших сообщений.

И что? Интересно - полистайте форум.

> У меня эта информация доступна.

Это не мешает вам задавать смешные вопросы, правда? Ситуация-то простая: вы, судя по вопросу и терминологии, ничего, кроме одинце и форточек в этой жизни не видели. И теперь хотите спроектировать что-то, что как бы уже не одинце, но как - не знаете. И вопрос вы задали потому, что не уверены, что выбрали правильный способ. Если ваша задача - интерфейс, вы на правильном пути, делайте, все получится. Если ваша задача - метамодель, забудьте про одинце и приготовьтесь много читать.

P.S. Кастинг отвечающих - это, простите, жлобство.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043206
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery «Универсальный клиент» это конфигурируемый интерфейс представления данных без привязки этих данных к источнику данных. Обмен данными между Сервером БД и Универсальным Клиентом должен программироваться «вручную» и в принципе не должен зависеть от Сервера БД. Т.е. программист сам делает запросы к Серверу БД на основе уведомлений (желательно) виртуального режима представления данных Универсального Клиента. Где-то так :) .
Такие идеи приходят большинству проггеров недавно пришедших в проблемную область баз данных. Т.е. это не оригинальная идея, ну и как показала практика (типа какой-то там критерий истины) они обречены: все это уже с 90 было много раз.
Независимость от сервера, оболчки, ядра, драйверы, конфигурируемые интерфесы. Все это попытки сдвинуть центр тяжести в замкнутой системе.
Нормальный путь: придумать свой тип МД, свою СУБД, или там если Рапид, то и свою среду разработки. Пытаться же использовать для своих типа идей средства предназначенные для других идей, это просто применение этих средств не по назначению. Многие возможности утрачиваются.
Вы знаете, есть такое предположение, что плохо спроектированной БД не помогут никакие програмные интерфейсы. Вы предлагаете чрезвычайно полохо проектировать БД (реляционная но реляционные запросы не канают - структура предметной области превращена в данные, а SQL предназначен для работы со структурой), ради независмости от БД. Концептуально слабым тут может оказаться, что БД важнее Вашего универсально клиента.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043219
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryМои пользователи работают на моих конфигурациях и горя не знают, а десяток различных перепробованных стандартных решений для 1С вызвали категорическую реакцию бухгалтеров: «То, что могут делать эти конфигурации, нам не нужно, а то, что нужно, они не могут».
у вас какие-то специфические бухгалтеры. Вы даже не представляете, похоже , сколько бухгалтеров работают на типовых конфигурациях и горя не знают. Судить по нескольким знакомым - неправильно. Как говориться выборка нерелевантная.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043221
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryБредятинапропущено...

В этом и заключается самая большая проблема:) Ваша и Вашего подхода. Непонимание огромных проблем серверов БД, ориентированных на не эффективные модели данных:)
Вы знаете мои проблемы лучше меня :) ?
Мои модели реально работают и фактически кормят меня. Я знаю, как еще улучшить их работу. Но мне нужен универсальный (идеальный) клиент. Я могу и пытаюсь писать его сам. Но это отнимает много времени. Начнем с того, что нет 100%-но подходящего грида / списка. Затем нет хорошего конфигуратора интерфейса, «отвязанного» от источника данных. Меня не устроит любой грид. Лучший, из бесплатных с исходниками, что я знаю, это грид Криса Маудера (Chris Maunder). Затем идет грид Алькса (ALX или Алексей Долгачев), затем различные расширения CListCtrl (SysListView32), вроде GfxList. Грид Алькса не поддерживает виртуального режима и групп. Грид Криса Маудера поддерживает виртуальный режим, но не поддерживает групп. SysListView32 очень хорош, но имеет скрытые параметры (т.е. намеренные ограничения для пользователя), Кроме того, для SysListView32 нужно самому писать инлайн редактирование. И так далее, подходящий грид найти очень сложно. А то, что нравится одним, может не понравится другим. Пока я юзаю SysListView32, особенно мне нравится этот контрол из Win7, но он не работает под ХРюшу. Несмотря на то, что примеров реализации инлайн редактирования существует много, реализованы они неудовлетворительно для меня. Как говорят, если хочешь, чтобы работа была сделана хорошо, нужно делать ее самому. Вот и занимаюсь списком SysListView32, вместо того, чтобы писать бизнес приложения :) .
напоминает исповедь изобретателя велосипеда в 21 веке. Извините, сначала подумал о том, что тему можно рассматривать как серьезную, но после прочтения вот такого, всякое желание относится к этому серьезно отпадает.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043229
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Тогда объясните мне, как делается запрос на выборку одного уникального элемента из базы, содержащей сто миллионов записей? При условии, что критерий поиска не индексирован. Обычный scan?

Пользователь указывает значение и получает результат - один уникальный элемент. При этом он обращается, вероятно, к тому, что Вы называете индексом, но он не скрыт, конечно же.
Что касается РСУБД, о которых Вы, видимо, рассказываете, то в них индексы хоть и скрыты, но они ведь, действительно не имеют отношения ни к РМД, ни к SQL. Это просто еще одна форма денормализации данных, не укладывающаяся в реляционную теорию (поэтому и скрыты:)), и приводящая, как обычно, к повышению производительности за счет избыточности данных.
Emery Лично я сыт по уши расширяемыми средствами разработки. Что хорошо программисту, то юзверю «смерть» :) . Особенно, если предлагаемые решения представляют собой полуфабрикат, сделанный по принципу, «нам с этой программой не работать».
Ну, это не хорошо:) Вы о чем-то другом заговорили. Какие еще "расширяемые средства разработки"??? Расширения структуры данных в рамках модели данных (о чем мы говорили) не требует никаких "расширяемых средств разработки". К программистам это вообще не имеет никакого отношения. А пользователи обязательно должны иметь возможность не обращаться к программистам за каждым запросом, а точнее - вообще никогда не обращаться к программистам (подобно тому, как домохозяйка не обращается к услугам производителя холодильника).
Emery Чем грешит, пресловутая «1С». Мои пользователи работают на моих конфигурациях и горя не знают, а десяток различных перепробованных стандартных решений для 1С вызвали категорическую реакцию бухгалтеров: «То, что могут делать эти конфигурации, нам не нужно, а то, что нужно, они не могут». Про неудобство работы с ними и избыточную трудоемкость я вообще молчу. Так что мы ведем достаточно беспредметный спор, так как исходим из разного контекста и собственного опыта.
Очень даже предметный, так как Вы заявили о некой технологии. При чем здесь 1с вообще не понятно. Мы же не о бухгалтерском учете говорим, который в любой "конфигурации" 1с будет сделан плохо:) Мы говорим, насколько я помню, об "универсальном клиенте". Если он не предполагает управляемый пользователем интефейс, основанный, неизбежно, на какой-то модели данных, то это вообще не "клиент":)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043241
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Вы знаете мои проблемы лучше меня :) ?

Скорее всего:) Иначе, я бы не стал публиковать сообщения в этой теме.
Emery Мои модели реально работают и фактически кормят меня.

И модели, например, государственного управления реально работают, и кормят много кого:) И что?
Emery Я знаю, как еще улучшить их работу. Но мне нужен универсальный (идеальный) клиент. Я могу и пытаюсь писать его сам. Но это отнимает много времени. Начнем с того, что нет 100%-но подходящего грида / списка. Затем нет хорошего конфигуратора интерфейса, «отвязанного» от источника данных. Меня не устроит любой грид. Лучший, из бесплатных с исходниками, что я знаю, это грид Криса Маудера (Chris Maunder). Затем идет грид Алькса (ALX или Алексей Долгачев), затем различные расширения CListCtrl (SysListView32), вроде GfxList. Грид Алькса не поддерживает виртуального режима и групп. Грид Криса Маудера поддерживает виртуальный режим, но не поддерживает групп. SysListView32 очень хорош, но имеет скрытые параметры (т.е. намеренные ограничения для пользователя), Кроме того, для SysListView32 нужно самому писать инлайн редактирование. И так далее, подходящий грид найти очень сложно. А то, что нравится одним, может не понравится другим. Пока я юзаю SysListView32, особенно мне нравится этот контрол из Win7, но он не работает под ХРюшу. Несмотря на то, что примеров реализации инлайн редактирования существует много, реализованы они неудовлетворительно для меня. Как говорят, если хочешь, чтобы работа была сделана хорошо, нужно делать ее самому. Вот и занимаюсь списком SysListView32, вместо того, чтобы писать бизнес приложения :) .
Вы заметили на какую тему переключились?:) Это уже не про способ хранения данных...
А бизнес-приложения программировать - это просто нонсенс:) Их уже давно пора прекращать программировать. Так что даже хорошо, что Вы, хотя бы временно, их не программируете. Вот и сделайте так, чтобы никогда их не программировать.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043250
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery (не зря фирма «1С» называет справочники «условно-постоянной» информацией)
Зря:) Оба понятия (и "справочник", и "условно-постоянная информация") не имеют никакого практического значения для управления данными.
Emery Документы не должны содержать периодических реквизитов. После их проведения, все ссылки замещаются их значениями на время проведения и данные документов фактически замораживаются.
Какими еще "значениями"?:) Например, у материала (используемого в любой операции движения) может быть несколько десятков ("редко изменяемых", как Вы говорите) характеристик, и соответственно, есть их значения "на момент проведения". Они что, записываются в "документ"?:)
Emery Другое дело, если Вы делаете перепроведение...
Еще один термин, не имеющий никакого практического значения. Наверное, из 1с:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043259
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery «Универсальный клиент» это конфигурируемый интерфейс представления данных без привязки этих данных к источнику данных.
Какую модель данных Вы предполагаете использовать в этом слое?
Emery Обмен данными между Сервером БД и Универсальным Клиентом должен программироваться «вручную» и в принципе не должен зависеть от Сервера БД.
А какой "элемент" в Вашей архитектуре обеспечивает независимость от модели данных сервера БД?
Emery Т.е. программист сам делает запросы к Серверу БД на основе уведомлений (желательно) виртуального режима представления данных Универсального Клиента. Где-то так :) .
Искренне надеюсь, что это какая-то опечатка:) Программист не дожен "делать запросы". Разве это не очевидно?:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043345
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЯ не знаю случая из своей практики, чтобы нужна была история модификаций полей данных с точностью меньшей, чем сутки.машина въехала на терминал вчера в 23:59 или сегодня в 0:01 - результат: <сумма штрафа>= <много>:0
PS Emery - известный велоипедостроитель, его бы энергию. да в мирные цели... но учиться не хочет, верит в одынцэ
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043351
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emeryguest_20040621> А почему шифруемся?

Ни разу. Вы, наверное, просто недавно здесь.
Вы прячетесь за анонимным логином.простой поиск по нику откроет вам глаза

PS имхо, стоит прислушаться
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043422
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Это не мешает вам задавать смешные вопросы, правда? Ситуация-то простая: вы, судя по вопросу и терминологии, ничего, кроме одинце и форточек в этой жизни не видели. И теперь хотите спроектировать что-то, что как бы уже не одинце, но как - не знаете. И вопрос вы задали потому, что не уверены, что выбрали правильный способ. Если ваша задача - интерфейс, вы на правильном пути, делайте, все получится. Если ваша задача - метамодель, забудьте про одинце и приготовьтесь много читать.
Ну почему не знаю? Знаю. Вопросов в теме топика я не задавал. Это была всего лишь информация для обсуждения (для будущей статьи). Чтобы опробовать предлагаемую модель (некую конкретизацию EAV), мне нужен универсальный клиент (УК), которого не существует. Поэтому вместо проектирования БД приходится заниматься разработкой УК. Но сначала нужно определиться с достойным гридом. Пока, несмотря на ограничения, мне нравиться SysListView32, особенно из Win7, поддерживающий группы и виртуальный режим до 100 миллионов записей (ограничение искусственное и легко устраняется). Давайте не будем вести споры, зачем нужно или не нужно 100 миллионов записей, об этом я говорил уже много раз. Будем исходить из аксиомы, что раз Мелкософт реализовал поддержку своего виртуального режима на таком уровне, значит это кому-то действительно нужно. Иначе, ограничился бы десятью тысячами записей, как предлагалось здесь на форуме. Чтобы разобраться со скрытыми возможностями SysListView32 приходится «глубоко копать», например, использовать очень недокументированные возможности :) .

В седьмой версии 1С есть несколько удачных идей, но какая бочка меда без ложки дёгтя :) ? Жаль, что 1С77 остановился в развитии. То, что мы критикуем его и призываем «забыть», я бы отнес скорее к версии 8.х, чем к 7.7. Но повторю, некоторые идеи семерки достойны реализации в альтернативных продуктах.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043445
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoEmery «Универсальный клиент» это конфигурируемый интерфейс представления данных без привязки этих данных к источнику данных. Обмен данными между Сервером БД и Универсальным Клиентом должен программироваться «вручную» и в принципе не должен зависеть от Сервера БД. Т.е. программист сам делает запросы к Серверу БД на основе уведомлений (желательно) виртуального режима представления данных Универсального Клиента. Где-то так :) .
Такие идеи приходят большинству проггеров недавно пришедших в проблемную область баз данных. Т.е. это не оригинальная идея, ну и как показала практика (типа какой-то там критерий истины) они обречены: все это уже с 90 было много раз.
Ой, ли? «Недавно пришедшие проггеры» не проявляют никакой самостоятельности мышления. Ко мне в отдел устраивались на работу четыре выпускника программиста из разных ВУЗов. И хотя я никому не предъявлял никаких требований, кроме желания заниматься программированием, никто не захотел остаться (перешли на более «хлебные» места). И уж тем более никто не имел собственных идей в области программирования.

Если такие идеи приходят «большинству проггеров», то должны существовать их реализации, пусть неудачные, но они должны быть. Но нет никакого УК (универсального клиента) в природе. Есть конфигурируемый интерфейс в 1С77, MS Access, Microsoft Navision, Open Office org Base (OOo Base), SofMarket и т.д. и т.п., но везде конфигурируемый интерфейс привязан к собственной БД. И приходится очень изощрятся, чтобы хоть как-то повлиять на эту привязку в лучшую сторону.

vadiminfoНезависимость от сервера, оболчки, ядра, драйверы, конфигурируемые интерфесы. Все это попытки сдвинуть центр тяжести в замкнутой системе.
Нормальный путь: придумать свой тип МД, свою СУБД, или там если Рапид, то и свою среду разработки. Пытаться же использовать для своих типа идей средства предназначенные для других идей, это просто применение этих средств не по назначению. Многие возможности утрачиваются.
У меня другое мнение. В ДОСовские времена, в силу ограниченности ресурсов, базы данных были более дружественны к программисту и пользователю. Сейчас, БД завернули в такие монстрообразные оболочки, что многие эффективные ранее вещи воспринимаются ныне либо как табу, либо как повод для насмешек. А причина понятна, БД реально кормят своих разработчиков и они явно не заинтересованы в упрощении доступа и прояснения ситуации, связанных с ними. Пользователя и программиста отделяют стеной провайдеров и драйверов от непосредственного манипулирования источниками данных. А там где еще остался непосредственный доступ к БД, в Visual FoxPro, например, то его весьма эффективное ядро постоянно дискредитируют пропагандой и особенно, галимой реализаций его интерфейса, что в ДОСе, что в Виндозе. Короче говоря, идея БД ныне очень заполитизирована коммерческой идеологией.

vadiminfoВы знаете, есть такое предположение, что плохо спроектированной БД не помогут никакие програмные интерфейсы. Вы предлагаете чрезвычайно полохо проектировать БД (реляционная но реляционные запросы не канают - структура предметной области превращена в данные, а SQL предназначен для работы со структурой), ради независмости от БД. Концептуально слабым тут может оказаться, что БД важнее Вашего универсально клиента.
Логика понятна, раз «плохо спроектированной БД не помогут никакие програмные интерфейсы», значит это служит обоснованием отсутствия в природе универсального клиента :) .

Я предлагаю, прежде всего, разработать УК, к которому можно будет подключаться как с «плохо спроектированной БД», так и с «хорошо спроектированной». Я, например, еще не полностью реализовал все возможности технологии файл-серверного доступа к данным + терминальный сервер. Поэтому клиент-серверная технология у меня стоит на втором плане, к которой я перейду, после получения результатов на файл-сервере + терминал. Чтобы реально сравнить показатели работы своей БД. До сих пор у меня получалось работа с «легкими» серверами БД и мне не хочется без крайней необходимости переходить к «тяжелым» серверам.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043448
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmEmeryМои пользователи работают на моих конфигурациях и горя не знают, а десяток различных перепробованных стандартных решений для 1С вызвали категорическую реакцию бухгалтеров: «То, что могут делать эти конфигурации, нам не нужно, а то, что нужно, они не могут».
у вас какие-то специфические бухгалтеры. Вы даже не представляете, похоже , сколько бухгалтеров работают на типовых конфигурациях и горя не знают. Судить по нескольким знакомым - неправильно. Как говориться выборка нерелевантная.
Не бухгалтера «специфические», а стандартные конфигурации «1С» сырые, трудоемкие и плохо продуманные. Вообще-то тётеньки-бухгалтера народ не прихотливый и способны добросовестно работать даже на откровенном программном отстое. Только вот внедрять и сопровождать этот «отстой» очень мало желания. Проще написать свою конфигурацию, а еще лучше независимую от 1С программу и иметь дело с ней. А бухгалтерам, по большому счету, все равно, им главное, чтобы был нужный результат.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043451
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСейчас, БД завернули в такие монстрообразные оболочки, что многие эффективные ранее вещи воспринимаются ныне либо как табу, либо как повод для насмешек. А причина понятна, БД реально кормят своих разработчиков и они явно не заинтересованы в упрощении доступа и прояснения ситуации, связанных с ними.
Вам с Ерик-Дедалом надо скооперироваться на предмет написания быстрых, компактных и эффективных программ.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043455
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmнапоминает исповедь изобретателя велосипеда в 21 веке. Извините, сначала подумал о том, что тему можно рассматривать как серьезную, но после прочтения вот такого, всякое желание относится к этому серьезно отпадает.
Ну да, играю не по Вашим правилам :) . Если бы у меня была цель выглядеть серьезно, я бы больше молчал, с умным видом, кстати, это очень эффективная метода :) . Только, не интересно мне все это. Я хочу решения своих проблем по своим рецептам, а не по чужим. А мне говорят, ты не правильно хочешь, нужно хотеть по другому, тогда мы к тебе будем относиться серьезно :) . Но если человек хочет учиться на собственных синяках и шишках, предоставьте ему это право, это все же лучше, чем плыть безвольно по струе «общественного мнения». Лично я воспринимаю не отношение к своим идеям, типа, плохие или хорошие, а содержательную информацию.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043481
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Тогда объясните мне, как делается запрос на выборку одного уникального элемента из базы, содержащей сто миллионов записей? При условии, что критерий поиска не индексирован. Обычный scan?
Пользователь указывает значение и получает результат - один уникальный элемент. При этом он обращается, вероятно , к тому, что Вы называете индексом, но он не скрыт, конечно же.
Хорошее знание предмета, не правда ли :) ? Чтобы индекс существовал, скрытно или явно, неважно, нужно его сначала создать. Это делаете либо Вы, либо движок БД, с целью оптимизации. Если индекса не существует, то время доступа к произвольному элементу будет порядка O(N), где N – число записей. А если индекс уже создан, то время доступа будет порядка O(ln(N)). Сравните, если N = 10^6 = 1000000 записей, то в первом случае среднее время доступа будет равно const * 1000000, а во втором const * 6. Чувствуете разницу? Чтобы создать индексы даже по одному поля для миллиона записей нужно очень заметное время. Скажем, Visual FoxPro 9, создает индексы для строкового поля длиной 70 байт со скоростью 100-150 тысяч индексов в секунду. Для миллиона таких записей первый запрос на выборку заданного элемента составит порядка 10 секунд (если записи первоначально не были индексированны).
Второй подобный запрос будет уже выполнен практически мгновенно, ибо движок БД, уже создаст нужный индекс. Однако лучше подобные процессы контролировать явно. Проще всего создавать нужные индексы во время ввода данных, тогда на оптимальные запросы будет затрачено очень мало времени. А если Вы индексацию отдадите на откуп движка БД, то не удивляйтесь, когда такой монстр, как MS SQL Server будет иногда тормозить, что дурной :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043493
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Вы знаете мои проблемы лучше меня :) ?
Скорее всего:) Иначе, я бы не стал публиковать сообщения в этой теме.
Тогда может быть Вы знаете и их решения :) ? Почему бы Вам не поделиться?

БредятинаВы заметили на какую тему переключились?:) Это уже не про способ хранения данных...
Без УК очень тяжело полноценно реализовать предлагаемую модель хранения данных. Поэтому приходится говорить и об универсальном клиенте.

БредятинаА бизнес-приложения программировать - это просто нонсенс:) Их уже давно пора прекращать программировать. Так что даже хорошо, что Вы, хотя бы временно, их не программируете. Вот и сделайте так, чтобы никогда их не программировать.
Я под «бизнес-приложениями» понимаю, в данном контексте, программирование учета на предприятии. Видимо Вы подразумеваете что-то другое. Думаю, надо обращать внимание на контекст разговора также.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043504
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЯ хочу решения своих проблем по своим рецептам, а не по чужим. А мне говорят, ты не правильно хочешь, нужно хотеть по другому, тогда мы к тебе будем относиться серьезно :) . Но если человек хочет учиться на собственных синяках и шишках, предоставьте ему это право, это все же лучше, чем плыть безвольно по струе «общественного мнения». Лично я воспринимаю не отношение к своим идеям, типа, плохие или хорошие, а содержательную информацию.
Вы путаете понятия. Общественное мнение здесь не причем. Самоубийц просто, обычно, пытаются отговорить не делать откровенную глупость.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043511
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryБез УК очень тяжело полноценно реализовать предлагаемую модель хранения данных. Поэтому приходится говорить и об универсальном клиенте.

следующим шагом будет разговор о специализированном компьютере, необходимом для реализации какой-то модели данных , представляющей собой какую-то, странного вида таблицу в БД, для работы с которой требуется какой-то универсальный клиент, на роль которого не подходит не один из тысяч существующих клиентов. Жду с нетерпением.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043549
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery (не зря фирма «1С» называет справочники «условно-постоянной» информацией)
Зря:) Оба понятия (и "справочник", и "условно-постоянная информация") не имеют никакого практического значения для управления данными.
«Справочник» - синоним первичной таблицы данных, а «условно-постоянная информация» означает редко изменяемую историю модификации полей этой таблицы. Можно обойтись без синонимов, только речь тогда будет перегружена одинаковыми терминами.

[quot Бредятина]Emery Документы не должны содержать периодических реквизитов. После их проведения, все ссылки замещаются их значениями на время проведения и данные документов фактически замораживаются.
Какими еще "значениями"?:) Например, у материала (используемого в любой операции движения) может быть несколько десятков ("редко изменяемых", как Вы говорите) характеристик, и соответственно, есть их значения "на момент проведения". Они что, записываются в "документ"?:)
В документ могут и не записываться, чтобы не перегружать его ненужной информацией, но фиксация данных подразумевается. Например, я дал вам бутылку свежего пива по Вашей просьбе, а Вы мне возвращаете его несвежим, мотивируя, что за это время оно испортилось. Характеристика то его изменилась со временем. Это так, но операция перемещения бутылки пива от меня к Вам зафиксировала его свежим, вот и Вы должны вернуть его свежим, даже если за это время оно могло испортиться. Надеюсь, аналогия понятна?

БредятинаEmery Другое дело, если Вы делаете перепроведение...
Еще один термин, не имеющий никакого практического значения. Наверное, из 1с:)
«Назови, хоть горшком, только в печь не клади» :) . Даже если Вы используете сверхскоростной SQL сервер в любом клиенте, Вам не обойтись без закрытия периодов, например в учете начисленной и выплаченной зарплаты. А закрытие периодов это одна из форм проведения документов. Ну и что из того, что Вы начислили и выплатили Иванову в прошлом году большую, чем нужно зарплату? А он к тому же еще и уволился. Вы не можете просто так «откатиться» назад и переначислить ему зарплату «правильно». Избыток выплаченных ему денег можно либо списать, либо востребовать через суд. Но в любом случае корректировки прошлых периодов будут осуществляться в настоящем или будущих периодах. Но иногда проведение, другими словами фиксация документов и всех его свойств на время проведения, может быть ошибочной. Скажем, тупо ошиблись при вводе данных из бумажных документов. Тогда Вы можете отменить проведение (фиксацию) документов, изменить их и снова провести. Т.е. от идеологии проведения практически невозможно отказаться в современном бухгалтерском учете. Так что 1С тут ни причем. Что они придумали своего, так это «субконто». Другими словами, именованный субсчет уровня предприятия. На этом построена вся их идеология учета – натурализация субсчетов (субконто) уровня предприятия. А натуральная операция, если и учитывается, то подчинена бухгалтерской проводке (в конфигурации «Бухгалтерия для России / Украины. . .»), тогда как более естественным должно быть как раз наоборот – бухгалтерская операция должна быть подчинена натуральной операции.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043572
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery «Универсальный клиент» это конфигурируемый интерфейс представления данных без привязки этих данных к источнику данных.
Какую модель данных Вы предполагаете использовать в этом слое?
Я писал уже, что несколько. Сначала попробую ту, что описал в начале темы (некую конкретизацию EAV). Если она не подойдет, то использую усовершенствованную модель данных, которую я применяю в своих конфигурация, ну и затем, для сравнения, некий вариант клиент-серверную модели. В любом случае УК должен быть одним и тем же.

БредятинаEmery Обмен данными между Сервером БД и Универсальным Клиентом должен программироваться «вручную» и в принципе не должен зависеть от Сервера БД.
А какой "элемент" в Вашей архитектуре обеспечивает независимость от модели данных сервера БД?
По принципу, мухи отдельно, котлеты отдельно :) . Мне достаточно будет, если я смогу перехватывать сообщения виртуального режима. Теоретически это возможно даже для 1С77, только для этого ее надо декомпилировать, чего мне делать не хочется.

БредятинаEmery Т.е. программист сам делает запросы к Серверу БД на основе уведомлений (желательно) виртуального режима представления данных Универсального Клиента. Где-то так :) .
Искренне надеюсь, что это какая-то опечатка:) Программист не дожен "делать запросы". Разве это не очевидно?:)
«Делать», в смысле «программировать», «разве это не очевидно» :) ?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043578
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Хорошее знание предмета, не правда ли :) ? Чтобы индекс существовал, скрытно или явно, неважно, нужно его сначала создать...
Далее следует банальный текст, который показывает, что в этой части, не имеющей никакого отношения к сути вопроса, знание предмета, действительно, не плохое:)
Но Вы, выходит, продолжаете не понимать, что к модели данных (РМД) индексы не имеют никакого отношения. Наверное поэтому Вы взяли из моего сообщения только нужную Вам фразу:) А там же было и это
"Что касается РСУБД, о которых Вы, видимо, рассказываете, то в них индексы хоть и скрыты, но они ведь, действительно не имеют отношения ни к РМД, ни к SQL. Это просто еще одна форма денормализации данных, не укладывающаяся в реляционную теорию (поэтому и скрыты:)), и приводящая, как обычно, к повышению производительности за счет избыточности данных."
А в других сообщениях подробнее о доступе к индексу в терминах модели данных:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043580
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О "расширяемых средствах разработки", похоже, замяли:) Что и следовало ожидать:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043581
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychEmeryЯ не знаю случая из своей практики, чтобы нужна была история модификаций полей данных с точностью меньшей, чем сутки.машина въехала на терминал вчера в 23:59 или сегодня в 0:01 - результат: <сумма штрафа>= <много>:0
PS Emery - известный велоипедостроитель, его бы энергию. да в мирные цели... но учиться не хочет, верит в одынцэ
Да, нетушки! Тут уже Вы прокололись! То, что Вы описываете, является операцией, регистрируемой во вторичной таблице отношений. А в таблице операций, сами операции регистрируются с точностью до минуты (об этом я уже писал в этой теме несколько сообщений назад), хотя допустимо и до секунды, что не принципиально. Вторичные таблицы (отношений, операций, документов) должны быть всегда «двухмерными», т.е. без истории модификаций полей. А первичные таблицы (определений) могут быть и «трехмерными», т.е. с историей модификации полей. А здесь точность меньше суток практически не востребована.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043584
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryИмеется в виду ширина полей в байтах. Значения могут быть либо пустыми (символ «пробел»), либо символом нуля («0»), так как поля даты модификации строковые. Впрочем, символ с кодом NULL тоже допускается.
Предлагаю пойти дальше.
Первая таблица — метаинформация о полях (названия, ключи, типы данных и длина).
Вторая таблица — содержимое, но сами значения в ней не храняться.
Третья таблица состоит из трех полей, ключа на вторую таблицу, порядкового номера и однобайтового поля.
Для получения значения поля нужно извлечь все подчиненные записи из третьей таблицы и объединить их.
Т.е. можно забыть о нерациональном использовании пространства, все данные будут занимать именно столько байт, сколько они занимают.
Как идея?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043593
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Тогда может быть Вы знаете и их решения :) ? Почему бы Вам не поделиться?
Только этим и занимаюсь:)
Emery Без УК очень тяжело полноценно реализовать предлагаемую модель хранения данных. Поэтому приходится говорить и об универсальном клиенте.
Что-то Вы запутываете простой вопрос:) Реализуйте для начала предлагаемую модель хранения данных, абсолютно полноценно, на СПЕЦИАЛИЗИРОВАННОМ клиенте. Модель хранения будет реализована абсолютно полноценно:) Что здесь очень тяжелого?
Emery Я под «бизнес-приложениями» понимаю, в данном контексте, программирование учета на предприятии. Видимо Вы подразумеваете что-то другое. Думаю, надо обращать внимание на контекст разговора также.
Конечно! И то, о чем я Вам говорю, имеет отношение к любым приложениям. Не нужно их программировать. Или Вы считаете, что модель, подходящая для парикмахерской и авиационного завода (это два предприятия, на которые Вы ориентируете свою технологию), не подойдет ни для библиотеки, ни для "пионерского" лагеря??
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043600
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmВы путаете понятия. Общественное мнение здесь не причем. Самоубийц просто, обычно, пытаются отговорить не делать откровенную глупость.
Если аргументов не хватает, прибегают к сильным словечкам. Зачем использовать запрещенные приемы?

iscrafmEmeryБез УК очень тяжело полноценно реализовать предлагаемую модель хранения данных. Поэтому приходится говорить и об универсальном клиенте.
следующим шагом будет разговор о специализированном компьютере, необходимом для реализации какой-то модели данных , представляющей собой какую-то, странного вида таблицу в БД, для работы с которой требуется какой-то универсальный клиент, на роль которого не подходит не один из тысяч существующих клиентов. Жду с нетерпением.
EAV придумали до меня. Я всего лишь предлагаю его конкретную реализацию, не более. «Тысячи существующих клиентов» завязаны на свои движки БД. Я предлагаю «развязать» хотя бы один из них. Кстати, в MFC класс CListCtrl использует именно такую идеологию. Нужно всего лишь построить приложение на его основе, что я и делаю. Странно только, что никто другой этого еще не сделал.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043606
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЯ всего лишь предлагаю его конкретную реализацию, не более. «Тысячи существующих клиентов» завязаны на свои движки БД. Я предлагаю «развязать» хотя бы один из них.
Зачем?
Все базы данных на нижнем, "железном" уровне и так "развязаны" до конца.
Всех этих столбцов, строк, представлений, индексов не существуют, существуют только плоское пространство байт. А уровнем ниже — "единицы" и "нули", определяемые намагниченными областями.
Разработчики СУБД вложили много времени и усилий, чтобы работа с данными осуществлялась через абстракции.
Лепить поверх этой абстракции свою самодельную "антиабстракцию" глупо. Если уж так хочется универсальности, разрабатывай свой бинарный формат данных.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043607
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryiscrafmВы путаете понятия. Общественное мнение здесь не причем. Самоубийц просто, обычно, пытаются отговорить не делать откровенную глупость.
Если аргументов не хватает, прибегают к сильным словечкам. Зачем использовать запрещенные приемы?

опять неправильно. Следует говорить "если аргументы закончились", это разные по сути фразы. Аргументы уже все приведены.

EmeryEAV придумали до меня. Я всего лишь предлагаю его конкретную реализацию, не более. «Тысячи существующих клиентов» завязаны на свои движки БД. Я предлагаю «развязать» хотя бы один из них. Кстати, в MFC класс CListCtrl использует именно такую идеологию. Нужно всего лишь построить приложение на его основе, что я и делаю. Странно только, что никто другой этого еще не сделал.
мда... Вам название класса понравилось в MFC? И что во там предлагаете "развязать"? Рановато. И какой хотя-бы один?

p.s. что такое EAV вы узнали только в этом форуме, на первой странице. Страшно даже предположить, сколько еще неизвестных слов, кроме CListCtrl.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043618
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаНо Вы, выходит, продолжаете не понимать, что к модели данных (РМД) индексы не имеют никакого отношения. Наверное поэтому Вы взяли из моего сообщения только нужную Вам фразу:)
Хорошо, объясните своими словами, как можно работать с БД без индексов, с той же и большей производительностью.

БредятинаА там же было и это
"Что касается РСУБД, о которых Вы, видимо, рассказываете, то в них индексы хоть и скрыты, но они ведь, действительно не имеют отношения ни к РМД, ни к SQL. Это просто еще одна форма денормализации данных, не укладывающаяся в реляционную теорию (поэтому и скрыты:)), и приводящая, как обычно, к повышению производительности за счет избыточности данных."
А в других сообщениях подробнее о доступе к индексу в терминах модели данных:)
Сама по себе избыточность данных не дает прироста производительности, хотя и способствует ей. В моей терминологии это предварительная обработка данных. Сделав часть работы заранее, Вам не придется делать ее в критически важный (по затратам времени) момент. Но я откровенно говоря не понимаю Вашего игнорирования индексов, этого краеугольного камня БД. Какой механизм Вы предлагаете взамен? Так чтобы это можно было понять и прочувствовать. Насчет Ваших рассуждений об «еще одной форме денормализации данных, не укладывающихся в реляционную теорию» я вообще ничего не могу сказать, так как совершенно не понимаю смысла этой фразы. Можете объяснить «на пальцах»?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043623
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаО "расширяемых средствах разработки", похоже, замяли:) Что и следовало ожидать:)
Я процитировал только Ваши слова, обсуждение этого вопроса я не начинал, потому и развивать его не собираюсь, так как это уведет нас далеко в сторону.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043632
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Предлагаю пойти дальше.
Первая таблица — метаинформация о полях (названия, ключи, типы данных и длина).
Вторая таблица — содержимое, но сами значения в ней не храняться.
Третья таблица состоит из трех полей, ключа на вторую таблицу, порядкового номера и однобайтового поля.
Для получения значения поля нужно извлечь все подчиненные записи из третьей таблицы и объединить их.
Т.е. можно забыть о нерациональном использовании пространства, все данные будут занимать именно столько байт, сколько они занимают.
Как идея?
Если бы еще понять, что Вы имеет в виду :) ? Нарисуйте примеры этих таблиц, может тогда будет яснее.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043637
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery «Справочник» - синоним первичной таблицы данных, а «условно-постоянная информация» означает редко изменяемую историю модификации полей этой таблицы. Можно обойтись без синонимов, только речь тогда будет перегружена одинаковыми терминами.
Речь тогда будет простой и абсолютно понятной, что очень важно, особенно при обсуждении технических вопросов. А вот Вы к двум бесполезным терминам добавили еще один "первичная таблица данных":) А все из-за того, что мы до сих пор не знаем о какой модели данных в слое, который Вы, от безысходности, надстраиваете над реляционной моделью данных (так как РМД не позволяет решать Ваши задачи), идет речь:)
Emery В документ могут и не записываться, чтобы не перегружать его ненужной информацией, но фиксация данных подразумевается. Например, я дал вам бутылку свежего пива по Вашей просьбе, а Вы мне возвращаете его несвежим, мотивируя, что за это время оно испортилось. Характеристика то его изменилась со временем. Это так, но операция перемещения бутылки пива от меня к Вам зафиксировала его свежим, вот и Вы должны вернуть его свежим, даже если за это время оно могло испортиться. Надеюсь, аналогия понятна?
Аналогия совершенно не уместна:) Вы вынуждены были изменить свое решение, и не записывать в документ, а подразумевать, видимо, в своем сознании:)
Теперь, что касается операции возврата отгруженной продукции.
Вы отгрузили пиво 25.12.2010. Характеристики пива в "документ" не записали, но "подразумеваете":). То есть, если их посмотреть, так сказать, из этого документа, то мы должны увидеть характеристики на 25.12.2010. Возврат осуществлен 30.12.2010. К этому времени некоторые характеристики пива в БД изменились. Вы говорите, что при просмотре характеристик из "документа на возврат" мы должны видеть характеристики на дату отгрузки, а не на дату возврата. Это же не имеет никакого отношения к процедуре "прописывания характеристик в документ". Вы же уже согласились, что это не нужно делать? И какая же здесь "аналогия"?:)
Emery «Назови, хоть горшком, только в печь не клади» :) . Даже если Вы используете сверхскоростной SQL сервер в любом клиенте, Вам не обойтись без закрытия периодов, например в учете начисленной и выплаченной зарплаты. А закрытие периодов это одна из форм проведения документов. Ну и что из того, что Вы начислили и выплатили Иванову в прошлом году большую, чем нужно зарплату? А он к тому же еще и уволился. Вы не можете просто так «откатиться» назад и переначислить ему зарплату «правильно». Избыток выплаченных ему денег можно либо списать, либо востребовать через суд. Но в любом случае корректировки прошлых периодов будут осуществляться в настоящем или будущих периодах. Но иногда проведение, другими словами фиксация документов и всех его свойств на время проведения, может быть ошибочной. Скажем, тупо ошиблись при вводе данных из бумажных документов. Тогда Вы можете отменить проведение (фиксацию) документов, изменить их и снова провести. Т.е. от идеологии проведения практически невозможно отказаться в современном бухгалтерском учете. Так что 1С тут ни причем.
Очень даже при чем. Ведь можно просто откорректировать операцию (одну из десяти в документе, предположим), и получить точно такой же результат:). Точно так же можно сделать и в закрытом периоде. Просто в этом случае корректировка возникнет в текущем открытом периоде. Термин "проведение" возник от термина "проводка бухгалтерская". Но бухгалтерские проводки ведь автоматически делаются, о них вообще можно не беспокоиться:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043647
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Без УК очень тяжело полноценно реализовать предлагаемую модель хранения данных. Поэтому приходится говорить и об универсальном клиенте.
Что-то Вы запутываете простой вопрос:) Реализуйте для начала предлагаемую модель хранения данных, абсолютно полноценно, на СПЕЦИАЛИЗИРОВАННОМ клиенте. Модель хранения будет реализована абсолютно полноценно:) Что здесь очень тяжелого?
Если бы существовал клиент, для которого можно реализовать данную схему, хоть специализированный, хоть универсальный, то данной проблемы не существовало бы. В любом случае, нужно либо писать собственно клиента (реально он будет далек от идеального универсального клиента), либо использовать любой существующий, но хакерскими методами делать в нем перехват сообщений виртуального режима, если он там поддерживается. Можно еще взять исходники проекта «2С», написанного на MFC, и поработать с ними. В любом случае, каждый вариант трудоемкий. Я пока остановился на собственном клиенте. Но дело движется медленно. Текущее состояние проекта можно посмотреть на моем сайте .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043651
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Я писал уже, что несколько. Сначала попробую ту, что описал в начале темы (некую конкретизацию EAV). Если она не подойдет, то использую усовершенствованную модель данных, которую я применяю в своих конфигурация, ну и затем, для сравнения, некий вариант клиент-серверную модели. В любом случае УК должен быть одним и тем же.
То, что Вы описали используется на стороне РСУБД. Это уже очевидно. Я спрашиваю о модели, которая будет описывать предметную область для пользователя, и, соответсвенно, использоваться в "универсальном клиенте"
Emery По принципу, мухи отдельно, котлеты отдельно :) . Мне достаточно будет, если я смогу перехватывать сообщения виртуального режима. Теоретически это возможно даже для 1С77, только для этого ее надо декомпилировать, чего мне делать не хочется.
Я не про реализацию же спрашиваю:) Еще раз:
Какой "элемент" в Вашей архитектуре обеспечивает независимость от модели данных сервера БД? Как будет работать в случае IMS, например.
Emery «Делать», в смысле «программировать», «разве это не очевидно» :) ?
Еще как очевидно:) Из этого следует, что программист будет программировать запросы. Я и говорю: надеюсь, что это опечатка:) Очевидно же, что программист не должен программировать никакие запросы, они ведь будут появляться произвольным образом в процессе эксплуатации приложения. Или Вы что-то другое имели в виду? Например, процесс "настройки" на новый "сервер БД"?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043656
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Зачем?
Все базы данных на нижнем, "железном" уровне и так "развязаны" до конца.
Всех этих столбцов, строк, представлений, индексов не существуют, существуют только плоское пространство байт. А уровнем ниже — "единицы" и "нули", определяемые намагниченными областями.
Разработчики СУБД вложили много времени и усилий, чтобы работа с данными осуществлялась через абстракции.
Лепить поверх этой абстракции свою самодельную "антиабстракцию" глупо. Если уж так хочется универсальности, разрабатывай свой бинарный формат данных.
Я подозреваю разработчиков современных СУБД в недобросовестности, в избыточной коммерционализации своих БД, в наведении «тень на плетень». А вместо «своего бинарного формата данных» я лучше сделаю своего клиента на базе SysListView32 :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043668
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Хорошо, объясните своими словами, как можно работать с БД без индексов, с той же и большей производительностью.
Так Вы согласны, что в РМД нет никаких индексов?:) Я Вам об этом говорю, а не о том может ли РСУБД работать без индексов. Кроме того, я Вам уже объяснил, что может. Дейт считает, что TR (в которой, по сути, нет индексов) - это и есть схема хранения для "настоящей РСУБД". Вы хотите это оспорить?:)
Emery Сама по себе избыточность данных не дает прироста производительности, хотя и способствует ей. В моей терминологии это предварительная обработка данных. Сделав часть работы заранее, Вам не придется делать ее в критически важный (по затратам времени) момент. Но я откровенно говоря не понимаю Вашего игнорирования индексов, этого краеугольного камня БД. Какой механизм Вы предлагаете взамен? Так чтобы это можно было понять и прочувствовать. Насчет Ваших рассуждений об «еще одной форме денормализации данных, не укладывающихся в реляционную теорию» я вообще ничего не могу сказать, так как совершенно не понимаю смысла этой фразы. Можете объяснить «на пальцах»? Конечно. См выше. И где Вы увидели индексы в РМД. Там есть "отношения", "ограничения целостности (ключи", "операции манипулирования отношениями". Где там "индексы" Вы увидели:)?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043672
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Я процитировал только Ваши слова, обсуждение этого вопроса я не начинал, потому и развивать его не собираюсь, так как это уведет нас далеко в сторону.
Нет, не уведет. Вы, я уверен, НЕ УМЫШЛЕННО, а по невнимательности (которая, впрочем, не допустима при обсуждении формальных технических вопросов), приписали ВАШИ СЛОВА мне! Вы берете назад слова о "расширяемых средствах разработки", как не имеющие отношения к теме?:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043675
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Если бы существовал клиент, для которого можно реализовать данную схему, хоть специализированный, хоть универсальный, то данной проблемы не существовало бы. В любом случае, нужно либо писать собственно клиента (реально он будет далек от идеального универсального клиента), либо использовать любой существующий, но хакерскими методами делать в нем перехват сообщений виртуального режима, если он там поддерживается. Можно еще взять исходники проекта «2С», написанного на MFC, и поработать с ними. В любом случае, каждый вариант трудоемкий. Я пока остановился на собственном клиенте. Но дело движется медленно. Текущее состояние проекта можно посмотреть на моем сайте .
Итак, Вы согласно, что "полноценная модель хранения" не имеет отношения к "степени универсальности клиента". Это хорошо:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043681
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmАргументы уже все приведены.
Но почему-то неубедительные :) .

iscrafmмда... Вам название класса понравилось в MFC? И что во там предлагаете "развязать"? Рановато. И какой хотя-бы один?
Не «название класса», а сам контрол. Вот, допустим, Вы хотите запустить в своем приложении собственный экземпляр comctl32.dll (где «живет» SysListView32). Вы можете даже явно вызвать свою версию этой библиотеки, отличную от системной, использовав LoadLibrary / GetProcAddress. Но все равно будет использоваться библиотека, прописанная в реестре и загруженная системой. Для того, чтобы заставить работать именно Вашу длл-ку, Вам нужно в шестнадцатиричном редакторе поменять имена типа SysListView32 / SysHeader32 и связанные с ними на свои имена. Так SysListView32 у меня стал SysListCtrl32 и т.д. Жаль только, что comctl32.dll из Win7 не работает под XP или Win2003. Разве только перекомпилировать эту длл :) ? Для мегабайтой comctl32.dll версии 6.0 у меня это получилось, и даже некоторые функции удалось выполнить, но за устойчивую работу всей библиотеки не уверен.

iscrafmp.s. что такое EAV вы узнали только в этом форуме, на первой странице. Страшно даже предположить, сколько еще неизвестных слов, кроме CListCtrl.
Узнать, то я узнал, только что узнал я нового? Только то, что подобная технология кем-то из буржуев изобретена до меня. Но я и так не претендовал на авторство, ибо идея эта «витает в воздухе». И что толку от бесполезных «умных» словечек, кроме как оказать впечатление на непосвященного?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043695
pil0t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я разрабатывал несколько учетных систем, первая была как раз на EAV
в принципе, этот тип имеет право на жизнь, если мы работаем с небольшими объемами данных и нам не нужны некоторые возможности.
кроме уже обозначенных проблем с уникальными индексами и ссылочной целостностью возникает ещё вопросы с производительностью:
в случае "обычных" таблиц большинство современных субд позволяют разбить по разным дискам, применить партиционирование и др.

EAV может быть полезной штукой для хранения изменений во времени, некоторых OLAP, но не для OLTP операций

Представьте себе что нужно будет изменить все данные в одном мега-справочнике, в случае "обычных" таблиц мы накладываем блокировку на таблицу, изменяем всё что нужно не затратив на блокирование особых ресурсов.

В случае одной универсальной таблицы, нам нужно блокировать по строкам (хранить в памяти все идентификаторы заблокированных строк) либо блокировать всю таблицу (а следовательно и всю систему) целиком.

Для хранения исторических сведений существуют разные варианты реализации можно погуглить или вот например ( http://habrahabr.ru/blogs/sql/101544/)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043934
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаРечь тогда будет простой и абсолютно понятной, что очень важно, особенно при обсуждении технических вопросов. А вот Вы к двум бесполезным терминам добавили еще один "первичная таблица данных":) А все из-за того, что мы до сих пор не знаем о какой модели данных в слое, который Вы, от безысходности, надстраиваете над реляционной моделью данных (так как РМД не позволяет решать Ваши задачи), идет речь:)
Какой Вы, однако, категоричный! Не нравится Вам предлагаемая терминология, ну и не используйте ее. Мне она удобна и полезна. Я пока еще ничего не «надстраиваю», а просто решаю проблему с программированием своего клиента. Будет ли он работать по предлагаемой модели хранения данных или по другой, не суть важно. Достаточно будет если я перенесу свои работающие конфигурации из 1С77 на своего клиента, естественно с усовершенствованиями. А нравится Вам эта идея или нет, понятна или нет, это уже другой вопрос. Про свои конфигурации я много писал здесь на форуме. Народ в основном воспринимает в штыки, что меня очень удивляет. Вам то какая разница? Конфигурации работают, все проблемы решают – почему это Вас раздражает? Вот решил подумать об их усовершенствованиях и опять критика. Давно думаю, что надо молча работать :) . Тогда ненужных проблем будет меньше :) . Я ведь ничего не спрашиваю, просто делюсь информацией. Полезных идей все равно почти не слышно.

БредятинаАналогия совершенно не уместна:) Вы вынуждены были изменить свое решение, и не записывать в документ, а подразумевать, видимо, в своем сознании:)
Теперь, что касается операции возврата отгруженной продукции.
Вы отгрузили пиво 25.12.2010. Характеристики пива в "документ" не записали, но "подразумеваете":). То есть, если их посмотреть, так сказать, из этого документа, то мы должны увидеть характеристики на 25.12.2010. Возврат осуществлен 30.12.2010. К этому времени некоторые характеристики пива в БД изменились. Вы говорите, что при просмотре характеристик из "документа на возврат" мы должны видеть характеристики на дату отгрузки, а не на дату возврата. Это же не имеет никакого отношения к процедуре "прописывания характеристик в документ". Вы же уже согласились, что это не нужно делать? И какая же здесь "аналогия"?:)
Пять дней для консервированного пива погоды не делают. Но попробуйте вернуть то же самое пиво после его срока хранения. Торговля не имеет права продавать простроченные продукты. Хотя кто нынче блюдет законодательство? В общем, свою мысль я высказал, но ничего доказывать не собираюсь. Вы можете вести учет по своей учетной политике, а я по своей и никаких проблем.

БредятинаEmeryТак что 1С тут ни причем.
Очень даже при чем. Ведь можно просто откорректировать операцию (одну из десяти в документе, предположим), и получить точно такой же результат:). Точно так же можно сделать и в закрытом периоде. Просто в этом случае корректировка возникнет в текущем открытом периоде. Термин "проведение" возник от термина "проводка бухгалтерская". Но бухгалтерские проводки ведь автоматически делаются, о них вообще можно не беспокоиться:)
Понятно, что Вы исходите из своего опыта работы, который отличается от моего. Отсюда и недоразумения. Для меня «проведение» означает «фиксацию данных», с одной стороны и дублирование данных, упорядоченных по другим индексам и / или в других таблицах (с целью ускорения доступа к данным) с другой. Понятно, что под это определение подпадают бухгалтерские проводки. Но для меня они отнюдь не первичны. Для меня первичны натуральные операция, а бухгалтерские операции вторичны. Поэтому и бухгалтерские проводки я программирую сам, а не использую стандартную «Бухгалтерию для Украины», скажем. Также и учет ресурсов и начислений (з/п, в основном) я тоже делаю по своей модели учета, отличной от прикладной модели учета братьев Нуралиевых.
Можете сколько угодно доказывать, что я не прав, но моя модель работает и полностью меня удовлетворяет, если не считать ограничений самого ядра 1С77.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043942
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаТо, что Вы описали используется на стороне РСУБД. Это уже очевидно. Я спрашиваю о модели, которая будет описывать предметную область для пользователя, и, соответсвенно, использоваться в "универсальном клиенте"
Если хотите, модель отображения данных в клиенте будет похожа на работу моих конфигураций (которые 1С-несовместимы) в «семерке». Моя модель мне очень нравится, если не считать ограничений ядра 1С77. Основная суть ее – это первичность натурального учета и вторичность бухгалтерского учета (который правильней назвать «бухгалтерским контролем» :) ) . Детали, я когда-нибудь опубликую полностью. Новых локальных идей там реализовано много. А как данные будут храниться в БД, это уже другой вопрос. Буду пробовать разные варианты, не считая уже реализованного.

БредятинаЯ не про реализацию же спрашиваю:) Еще раз:
Какой "элемент" в Вашей архитектуре обеспечивает независимость от модели данных сервера БД? Как будет работать в случае IMS, например.
Я же Вам говорил, все, что мне нужно, это возможность самому обрабатывать уведомления виртуального режима списка SysListView32 (CListCtrl в MFC). Никакого другого «элемента» мне не нужно. Это все будет реализовано в той программе, что я пишу сейчас.

Emery «Делать», в смысле «программировать», «разве это не очевидно» :) ?
Еще как очевидно:) Из этого следует, что программист будет программировать запросы. Я и говорю: надеюсь, что это опечатка:) Очевидно же, что программист не должен программировать никакие запросы, они ведь будут появляться произвольным образом в процессе эксплуатации приложения. Или Вы что-то другое имели в виду? Например, процесс "настройки" на новый "сервер БД"?[/quot]
Да нет, пожалуй, то, что Вам не очень нравиться :) . В ссылке выше я привел пример работы с данными, по интересуемой меня методологии. Там продемонстрирован доступ в виртуальном режиме из списков к трем dbf-файлам, с которыми я работаю непосредственно. Пример пока простой, но с перспективой на многомегабайтные базы. Более того, я сейчас собираюсь реализовать собственный вариант создания и поддержки компаундных индексных cdx-файлов. Кое-что по этому поводу есть на моем, процитированном выше, сайте. Только можете не тратить свое время на критику этой идеи. Я уже много ее услышал и вряд ли Вы добавите что-то принципиально новое. Вот ALX (Алексей Долгачев) занимался подобными разработками, но я собираюсь идти дальше.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043947
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Хорошо, объясните своими словами, как можно работать с БД без индексов, с той же и большей производительностью.
Так Вы согласны, что в РМД нет никаких индексов?:) Я Вам об этом говорю, а не о том может ли РСУБД работать без индексов. Кроме того, я Вам уже объяснил, что может. Дейт считает, что TR (в которой, по сути, нет индексов) - это и есть схема хранения для "настоящей РСУБД". Вы хотите это оспорить?:)
Говорить, то Вы говорили, но объяснить своими словами, как можно работать без индексов не хотите. Допустим Ваш Дейт прав, но почему бы Вам не объяснить в двух словах суть его идеи, за счет собственно чего достигается эффективность доступа к данным в БД, организованной по его методалогии?

БредятинаКонечно. См выше. И где Вы увидели индексы в РМД. Там есть "отношения", "ограничения целостности (ключи", "операции манипулирования отношениями". Где там "индексы" Вы увидели:)?
Но за счет чего достигается скорость доступа к данным?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043949
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pil0tя разрабатывал несколько учетных систем, первая была как раз на EAV
в принципе, этот тип имеет право на жизнь, если мы работаем с небольшими объемами данных и нам не нужны некоторые возможности.
кроме уже обозначенных проблем с уникальными индексами и ссылочной целостностью возникает ещё вопросы с производительностью:
в случае "обычных" таблиц большинство современных субд позволяют разбить по разным дискам, применить партиционирование и др.
Если Вы сами контролируете создание таблиц, то можете хранить их на разных дисках тоже. Пока у меня нет нужды работать с промышленными данными. А для предприятия среднего уровня продуманная структура данных, в принципе решает все перечисленные Вами проблемы.

pil0tEAV может быть полезной штукой для хранения изменений во времени, некоторых OLAP, но не для OLTP операций

Представьте себе что нужно будет изменить все данные в одном мега-справочнике, в случае "обычных" таблиц мы накладываем блокировку на таблицу, изменяем всё что нужно не затратив на блокирование особых ресурсов.

В случае одной универсальной таблицы, нам нужно блокировать по строкам (хранить в памяти все идентификаторы заблокированных строк) либо блокировать всю таблицу (а следовательно и всю систему) целиком.
Я не веду речь про «одну универсальную таблицу». Таблиц столько же сколько и было раньше, даже в два раз больше, так как нужно еще описывать их метаданные. Только вот структура у всех них будет единообразной, за счет собственно чего и будет сделана попытка усовершенствования доступа к данным.

pil0tДля хранения исторических сведений существуют разные варианты реализации можно погуглить или вот например ( http://habrahabr.ru/blogs/sql/101544/)

Спасибо за информацию! Посмотрю уже после Нового Года!

Всех с Новым Годом!
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043959
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Какой Вы, однако, категоричный! Не нравится Вам предлагаемая терминология, ну и не используйте ее. Мне она удобна и полезна.
То есть, Вы категоричный:) Так что такое "первичная таблица данных"?
Emery Я пока еще ничего не «надстраиваю», а просто решаю проблему с программированием своего клиента. Будет ли он работать по предлагаемой модели хранения данных или по другой, не суть важно.
Постепенно становится очевидным, что Вы сами не знаете какая связь между клиентом и "предлагаемой моделью хранения данных" (или другой):)
Emery Достаточно будет если я перенесу свои работающие конфигурации из 1С77 на своего клиента, естественно с усовершенствованиями. А нравится Вам эта идея или нет, понятна или нет, это уже другой вопрос.
Она не понятна Вам, а не мне. Поэтому Вы и не можете объяснить какую модель данных Вы используете. Создается впечатление, что никакую. То есть, предполагается перманентное программирование:)
Emery Про свои конфигурации я много писал здесь на форуме. Народ в основном воспринимает в штыки, что меня очень удивляет.
Я ничего в штыки не воспринимаю. Никогда. Только объективный анализ... Вот и еще один удобный для Вас термин. Что за "кофигурации"? Универсального клиента?:)
Emery Вам то какая разница? Конфигурации работают, все проблемы решают – почему это Вас раздражает? Вот решил подумать об их усовершенствованиях и опять критика. Давно думаю, что надо молча работать :)
Это Вас раздражает то, что Вы не понимаете над чем работаете:) Критиковать, пока, нечего. Вон сколько Вы пишите не по существу, вместо того, чтобы с моей помощью объяснить себе чем Вы занимаетесь.
Emery Тогда ненужных проблем будет меньше :) . Я ведь ничего не спрашиваю, просто делюсь информацией. Полезных идей все равно почти не слышно:)
Проблем будет меньше, если Вы объясните какая модель данных используется для описания предметной области.
Emery Пять дней для консервированного пива погоды не делают. Но попробуйте вернуть то же самое пиво после его срока хранения. Торговля не имеет права продавать простроченные продукты. Хотя кто нынче блюдет законодательство? В общем, свою мысль я высказал, но ничего доказывать не собираюсь. Вы можете вести учет по своей учетной политике, а я по своей и никаких проблем.
Какое консервированное пиво? Это элемент Вашей модели данных? Вместо того, чтобы признать свою ошибку (сохранение характеристик материала в документе) Вы продолжаете добавлять все новые и новые термины, абсолютно бесполезные для понимания модели хранения и "универсального клиента". Теперь вот "консервированное пиво", "просроченные продукты" и, наконец, "своя учетная политика":)
Emery Понятно, что Вы исходите из своего опыта работы, который отличается от моего. Отсюда и недоразумения. Для меня «проведение» означает «фиксацию данных», с одной стороны и дублирование данных, упорядоченных по другим индексам и / или в других таблицах (с целью ускорения доступа к данным) с другой. Понятно, что под это определение подпадают бухгалтерские проводки. Но для меня они отнюдь не первичны. Для меня первичны натуральные операция, а бухгалтерские операции вторичны. Поэтому и бухгалтерские проводки я программирую сам, а не использую стандартную «Бухгалтерию для Украины», скажем. Также и учет ресурсов и начислений (з/п, в основном) я тоже делаю по своей модели учета, отличной от прикладной модели учета братьев Нуралиевых. Можете сколько угодно доказывать, что я не прав, но моя модель работает и полностью меня удовлетворяет, если не считать ограничений самого ядра 1С77.
Опять многословно уводите от существа вопроса. Откорректировать одну операцию в документе проще и быстрее, чем "перепроводить документ". При чем здесь чей-то опыт???
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043966
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Если хотите, модель отображения данных в клиенте будет похожа на работу моих конфигураций (которые 1С-несовместимы) в «семерке». Моя модель мне очень нравится, если не считать ограничений ядра 1С77. Основная суть ее – это первичность натурального учета и вторичность бухгалтерского учета (который правильней назвать «бухгалтерским контролем» :) ) . Детали, я когда-нибудь опубликую полностью. Новых локальных идей там реализовано много. А как данные будут храниться в БД, это уже другой вопрос. Буду пробовать разные варианты, не считая уже реализованного.
Какая еще модель отображения? Еще один новый термин:) Ну Вы же сами опубликовали тему в разделе ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ! Как Вы проектируете базу данных? Объясните от начала и до конца. Например, выяснилось, что в предметной области есть люди, которые работают в организациях. И нет больше ничего. Только Люди и Организации, в которых Люди работают:)
Emery Я же Вам говорил, все, что мне нужно, это возможность самому обрабатывать уведомления виртуального режима списка SysListView32 (CListCtrl в MFC). Никакого другого «элемента» мне не нужно. Это все будет реализовано в той программе, что я пишу сейчас.
То есть, Вы не знаете какова архитектура Вашего решения, и как будете работать с IMS. Ну так бы сразу и сказали:)
Emery Да нет, пожалуй, то, что Вам не очень нравиться :). В ссылке выше я привел пример работы с данными, по интересуемой меня методологии. Там продемонстрирован доступ в виртуальном режиме из списков к трем dbf-файлам, с которыми я работаю непосредственно. Пример пока простой, но с перспективой на многомегабайтные базы. Более того, я сейчас собираюсь реализовать собственный вариант создания и поддержки компаундных индексных cdx-файлов. Кое-что по этому поводу есть на моем, процитированном выше, сайте. Только можете не тратить свое время на критику этой идеи. Я уже много ее услышал и вряд ли Вы добавите что-то принципиально новое. Вот ALX (Алексей Долгачев) занимался подобными разработками, но я собираюсь идти дальше.
Вы о чем? Вы будете программировать каждый новый запрос? Эту идею просто невозможно критиковать. Это просто смешно:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37043967
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Говорить, то Вы говорили, но объяснить своими словами, как можно работать без индексов не хотите. Допустим Ваш Дейт прав, но почему бы Вам не объяснить в двух словах суть его идеи, за счет собственно чего достигается эффективность доступа к данным в БД, организованной по его методалогии?
Вы меня с кем-то путаете. Я ни про какие идеи Дейта в этой теме не говорил:)
Emery Но за счет чего достигается скорость доступа к данным?
Вы про TR? Прочитайте Приложение A в 8-м издании "Введение в системы баз данных" Дейта.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044045
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emerypil0tДля хранения исторических сведений существуют разные варианты реализации можно погуглить или вот например ( http://habrahabr.ru/blogs/sql/101544/ )
Спасибо за информацию! Посмотрю уже после Нового Года!
Интересные рассуждения, но не более. Для меня ничего полезного. Хранение истории модификации я продемонстрировал на примере второй таблицы в начале этого топика. Там есть поля: год модификации (достаточно одного символа от "0" до "9" или от "A" до "Z", что даст диапазон дат: 2000 – 2036 года, вполне достаточно для наших целей); месяц модификации (от "0" до "9" или от "A" до "C" – эквивалентные 1 – 12 месяцу) и день модификации (от "0" до "9" или от "A" до "V" – эквивалентные 1 – 31 дню). Изменения поля начинают действовать с даты модификации, до тех пор, пока не наступит следующая модификация, что зафиксируется определенной записью. Отсутствие даты модификации означает, что значение действует с «нулевого» времени, фактически с начала учетной даты в данной системе. Если диапазона в 36 лет будет недостаточно, то можно выбрать год двухбайтным (в 36-тиричной системе отчета, что даст диапазон дат в 1296 лет, точку отсчета можно выбрать произвольной, например 1500 год и т.д.). Данной информации вполне достаточно для хранения истории модификации данных первичных таблиц, т.е. таблиц определений (некоторых объектов, представимых своими записями в «плоской» таблице базы данных). Во вторичных таблицах или таблицах отношений (между объектами, определенных в первичных таблицах) модификаций полей данных быть не должно, поскольку они фиксируют операции, на определенную дату / время. Само же логгирование (журналирование) любых изменений в БД можно вести в специальном журнале.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044049
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Какой Вы, однако, категоричный! Не нравится Вам предлагаемая терминология, ну и не используйте ее. Мне она удобна и полезна.
То есть, Вы категоричный:) Так что такое "первичная таблица данных"?
Определение первичной и вторичной таблиц я уже дал в сообщении выше .

БредятинаEmery Я пока еще ничего не «надстраиваю», а просто решаю проблему с программированием своего клиента. Будет ли он работать по предлагаемой модели хранения данных или по другой, не суть важно.
Постепенно становится очевидным, что Вы сами не знаете какая связь между клиентом и "предлагаемой моделью хранения данных" (или другой):)
Вам недостаточно примера взаимоотношения клиента с БД приведенного в моей статье ? Развитие этого примера до практического работающего приложения и составляет мою цель. Пока в примере таблицы дбф являются плоскими, подобно как в конфигурациях 1С77. Другой вариант представления будет тот, который описан в начале этого топика. При этом число dbf-таблиц удвоится, но все они будут иметь фиксированную структуру, что позволит, в принципе, унифицировать доступ к ним. Если это называется «сами не знаете какая связь», то я могу лишь развести руками :) .

БредятинаEmeryДостаточно будет если я перенесу свои работающие конфигурации из 1С77 на своего клиента, естественно с усовершенствованиями. А нравится Вам эта идея или нет, понятна или нет, это уже другой вопрос.
Она не понятна Вам, а не мне. Поэтому Вы и не можете объяснить какую модель данных Вы используете. Создается впечатление, что никакую. То есть, предполагается перманентное программирование:)
Я использую собственную модель данных, поэтому у нее нет фиксированного наименования. Про себя я называю это «натуральным учетом». Небольшую «теорию» о нем можно почитать в моей статье .

БредятинаEmery Про свои конфигурации я много писал здесь на форуме. Народ в основном воспринимает в штыки, что меня очень удивляет.
Я ничего в штыки не воспринимаю. Никогда. Только объективный анализ... Вот и еще один удобный для Вас термин. Что за "кофигурации"? Универсального клиента?:)
Речь шла о собственных конфигурациях в «семерке». Для УК конфигурацией можно назвать его конкретную настройку, так как предполагается, что это будет «конфигурируемый интерфейс».

БредятинаEmery Вам то какая разница? Конфигурации работают, все проблемы решают – почему это Вас раздражает? Вот решил подумать об их усовершенствованиях и опять критика. Давно думаю, что надо молча работать :)
Это Вас раздражает то, что Вы не понимаете над чем работаете:) Критиковать, пока, нечего. Вон сколько Вы пишите не по существу, вместо того, чтобы с моей помощью объяснить себе чем Вы занимаетесь.
То чем я занимаюсь представлено на моем сайте http://emery-emerald.narod.ru/ . Единственно, что огорчительно, что развивается он медленно (кроме него я веду еще несколько проектов). Уверен, что мне нужно иметь больше желания его развивать, чем чужого объяснения, «чем я занимаюсь» :) . Про другие проекты, Вы мне тоже будете рассказывать, чем я там занимаюсь :) ?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044074
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryИнтересные рассуждения, но не более. Для меня ничего полезного. Хранение истории модификации я продемонстрировал на примере второй таблицы в начале этого топика. Там есть поля: год модификации (достаточно одного символа от "0" до "9" или от "A" до "Z", что даст диапазон дат: 2000 – 2036 года, вполне достаточно для наших целей); месяц модификации (от "0" до "9" или от "A" до "C" – эквивалентные 1 – 12 месяцу) и день модификации (от "0" до "9" или от "A" до "V" – эквивалентные 1 – 31 дню). Изменения поля начинают действовать с даты модификации, до тех пор, пока не наступит следующая модификация, что зафиксируется определенной записью. Отсутствие даты модификации означает, что значение действует с «нулевого» времени, фактически с начала учетной даты в данной системе. Если диапазона в 36 лет будет недостаточно, то можно выбрать год двухбайтным (в 36-тиричной системе отчета, что даст диапазон дат в 1296 лет, точку отсчета можно выбрать произвольной, например 1500 год и т.д.). Данной информации вполне достаточно для хранения истории модификации данных первичных таблиц, т.е. таблиц определений (некоторых объектов, представимых своими записями в «плоской» таблице базы данных). Во вторичных таблицах или таблицах отношений (между объектами, определенных в первичных таблицах) модификаций полей данных быть не должно, поскольку они фиксируют операции, на определенную дату / время. Само же логгирование (журналирование) любых изменений в БД можно вести в специальном журнале.
напоминает рассуждения по поводу BolgenOS. Эпично. А по телевизору одно и тоже.
С Новым годом!
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044089
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmeryТогда ненужных проблем будет меньше :) . Я ведь ничего не спрашиваю, просто делюсь информацией. Полезных идей все равно почти не слышно:)
Проблем будет меньше, если Вы объясните какая модель данных используется для описания предметной области.
Я уже сказал, моя собственная модель. Хотите, задавайте, уточняющие вопросы.

БредятинаКакое консервированное пиво? Это элемент Вашей модели данных? Вместо того, чтобы признать свою ошибку (сохранение характеристик материала в документе) Вы продолжаете добавлять все новые и новые термины, абсолютно бесполезные для понимания модели хранения и "универсального клиента". Теперь вот "консервированное пиво", "просроченные продукты" и, наконец, "своя учетная политика":)
Я Вам сказал, что при фиксации (проведении) документа, все его свойства, в том числе свойства его ресурсов, с которыми он оперирует, на момент проведения «замораживаются». Сам ресурс со временем может изменить свои свойства или характеристики, но на проведенный («замороженный») документ это не окажет никакого влияния. Если только Вы не делаете перепроведения. Какая ошибка? Я так делал и собираюсь делать дальше. Если у Вас политика учета другая, то на мою политику это никак не повлияет. Конкретику можно убрать, если она не проясняет ситуации.

БредятинаEmery Понятно, что Вы исходите из своего опыта работы, который отличается от моего. Отсюда и недоразумения. Для меня «проведение» означает «фиксацию данных», с одной стороны и дублирование данных, упорядоченных по другим индексам и / или в других таблицах (с целью ускорения доступа к данным) с другой. Понятно, что под это определение подпадают бухгалтерские проводки. Но для меня они отнюдь не первичны. Для меня первичны натуральные операция, а бухгалтерские операции вторичны. Поэтому и бухгалтерские проводки я программирую сам, а не использую стандартную «Бухгалтерию для Украины», скажем. Также и учет ресурсов и начислений (з/п, в основном) я тоже делаю по своей модели учета, отличной от прикладной модели учета братьев Нуралиевых. Можете сколько угодно доказывать, что я не прав, но моя модель работает и полностью меня удовлетворяет, если не считать ограничений самого ядра 1С77.
Опять многословно уводите от существа вопроса. Откорректировать одну операцию в документе проще и быстрее, чем "перепроводить документ". При чем здесь чей-то опыт???
Чтобы «откорректировать одну операцию» проведенного документа его надо сначала «разморозить», т.е. аннулировать его проведение. Точнее говоря, один «документ ресурсов» у меня может содержать множество «ресурсов документа». Отношение между этими таблицами у меня «один ко многим». Сам процесс проведения у меня реализован на уровне «ресурсов документа», хотя возможно и пакетное проведение / аннулирование проведения на уровне «документа ресурсов» и даже группы таких документов по определенному запросу. Поэтому, если проведенная операция может быть «расфиксированна», то простым нажатием клавиши проведение этой операции аннулируется, вносятся изменения и той же самой клавишей одна эта операция документа снова проводится (фиксируется). Это очень удобно, когда Вы вносите очень много операций в один документ, например, документ ввода остатков или документ амортизации основных средств (который у меня формируется автоматически). Не надо перепроводить весь документ, содержащий тысячи позиций (операций ресурсов документа). Достаточно сделать это только для одной записи документа.

Не исключено, что и это «многословие» не прояснит для Вас ситуацию. Но я уже говорил, когда-нибудь я опубликую полностью этот свой проект с подробными пояснениями всего процесса программирования, хотя это очень трудоемкий объем работ.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044121
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаКакая еще модель отображения? Еще один новый термин:) Ну Вы же сами опубликовали тему в разделе ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ! Как Вы проектируете базу данных? Объясните от начала и до конца. Например, выяснилось, что в предметной области есть люди, которые работают в организациях. И нет больше ничего. Только Люди и Организации, в которых Люди работают:)
Новых терминов действительно много, так как стандартные подходы меня не удовлетворяют, а нестандартные требуют своего языка.

На самом деле все, что я хотел сказать по теме проектирования способа хранения данных в БД (проектировать собственно БД здесь я не собирался), я уже сказал в самом первом своем сообщении этого топика. Все сразу увидели в этом один из возможных вариантов EAV. Но сам EAV слишком «широк» и охватывает множество реализаций, не конкретизируя особо ни одну из них. Вот я и предложил свою конкретизацию, которую собираюсь реализовывать в своем клиенте и своей БД. Но чтобы сделать это достаточно профессионально нужно мой клиент доработать до практически полезного уровня, чем я сейчас и занимаюсь, в первую очередь.

Саму модель предметной области, которую я реализовал в своих нестандартных конфигурациях 1С77 (проект «Lional») и собираюсь реализовать в независимом проекте «2E», как я их называю, я постепенно выложу на своем сайте, который я уже цитировал здесь.

Здесь я не собирался обсуждать свои проекты «Lional» и «2Е», кое-что, хотя и очень мало, есть на цитированном сайте. Следите за ним, может быть там будут обновления. Конечно, по ходу дела я отвечал на некоторые вопросы, касающиеся их, но полностью осветить все вопросы в этом топике будет затруднительно. Повторю, моя цель здесь была поделиться своей идеей о новой организации хранения данных. Как оказалось идея не нова и народу особо не нужна. В принципе на этом можно было бы закончить дискуссию. Но если меня спрашивают, то я стараюсь отвечать. А поскольку охват темы достаточно широк, то трудно осветить ее удовлетворительно для всех. Для этого и созданы сайты, подобно цитированному.

БредятинаТо есть, Вы не знаете какова архитектура Вашего решения, и как будете работать с IMS. Ну так бы сразу и сказали:)
Насчет архитектуры я уже объяснил, та, что уже реализована и даже лучше. А какова она – смотрите сайт, постепенно там будет выложена вся необходимая информация.

Что такое IMS? Интернет дает разные варианты этого термина.

БредятинаВы о чем? Вы будете программировать каждый новый запрос? Эту идею просто невозможно критиковать. Это просто смешно:)
Какие новые запросы? Кто их будет делать? Пользователи или программист? Поскольку пишется конечное приложение, а не средство разработки, то все запросы предсказуемы и стандартизированы. Вполне достаточно будет параметризации их пользователем. А в предлагаемой схеме хранения данных принципиально различных запросов будет еще меньше. Опыт показывает, что все потенциальное разнообразие запросов можно свести к минимуму в конечной системе. Так что смех Ваш мимо цели :) .

В примере, который Вы не желаете рассматривать, dbf-файлы условной БД проецируются в память по технологии MMF и доступ к нужному полю dbf-таблицы происходит также как и обращение к обычной ячейке памяти. Все остальные заботы по отображению данных в списках, берет на себя виртуальный режим SysListView32. Очень удобно. Более сложные манипуляции данными также не представляют особых трудностей.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044136
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Но за счет чего достигается скорость доступа к данным?
Вы про TR? Прочитайте Приложение A в 8-м издании "Введение в системы баз данных" Дейта.
Пожалуй, это будет полезной информацией для меня :) . Спасибо. Постараюсь освоить ее. Хотя будет ли это реальной альтернативой используемой технологии, пока сказать трудно. Нужно время на осмысливание.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044156
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryВсе сразу увидели в этом один из возможных вариантов EAV. Но сам EAV слишком «широк» и охватывает множество реализаций, не конкретизируя особо ни одну из них. Вот я и предложил свою конкретизацию, которую собираюсь реализовывать в своем клиенте и своей БД.
шутка? Сам EAV как раз слишком "узок".
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044184
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmEmeryВсе сразу увидели в этом один из возможных вариантов EAV. Но сам EAV слишком «широк» и охватывает множество реализаций, не конкретизируя особо ни одну из них. Вот я и предложил свою конкретизацию, которую собираюсь реализовывать в своем клиенте и своей БД.
шутка? Сам EAV как раз слишком "узок".
EAV «широк» относительно собственных реализаций, а не сам по себе.

Я вот читаю сейчас про модель TransRelational (TR), разработанную Стивом Тареном (Steve Tarin) (по наводке «Бредятина»), занятная, надо сказать вещица! Первое впечатление очень хорошее. Действительно, можно обойтись без индексов за счет представления одной «плоской» таблицы двумя таблицами, в первой из которых, все столбцы упорядочены по значениям, независимо от взаимосвязи друг с другом, а вторая представляет собой «таблицу реконструкции записей». Чтобы понять, как она формируется достаточно вникнуть в пример из книги Дейта. Все относительно просто и легко реализуемо. Правда, пока речь идет об уже сформированной БД и доступе к ней только на чтение, но Дейт обещает, что в новой книге, которая готовится к выходу, будут описаны вопросы создания и модификации БД по технологии TR. В принципе, можно попытаться додуматься до этих идей самому и, может быть, все-таки скрестить «ежа и ужа», то бишь TR & EAV :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044225
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Определение первичной и вторичной таблиц я уже дал в сообщении выше.
Хорошо.

Первичная таблица данных - таблица определений некоторого объекта, представимого своими записями в «плоской» таблице базы данных.

Вторичная таблица данных - таблица отношений между объектами, определенными в первичных таблицах данных.

Скажите, а "отношения между объектами" тоже представимы своими записями в "плоской" таблице базы данных?
Emery Вам недостаточно примера взаимоотношения клиента с БД приведенного в ...? Развитие этого примера до практического работающего приложения и составляет мою цель. Пока в примере таблицы дбф являются плоскими, подобно как в конфигурациях 1С77. Другой вариант представления будет тот, который описан в начале этого топика. При этом число dbf-таблиц удвоится, но все они будут иметь фиксированную структуру, что позволит, в принципе, унифицировать доступ к ним. Если это называется «сами не знаете какая связь», то я могу лишь развести руками :).
Мне недостаточно:) Я не спрашивал о взаимоотношении клиента с БД. Вы не можете объяснить почему Вы увязываете создание универсального клиента со способом хранения данных в БД (теперь Вы говорите о "варианте представления", хотя очевидно, что речь идет о хранении, а не о представлении):)
Emery Я использую собственную модель данных, поэтому у нее нет фиксированного наименования. Про себя я называю это «натуральным учетом». Небольшую «теорию» о нем можно почитать в ...
Хорошо, пусть это будет "модель натурального учета":)
Emery Речь шла о собственных конфигурациях в «семерке». Для УК конфигурацией можно назвать его конкретную настройку, так как предполагается, что это будет «конфигурируемый интерфейс».
При чем здесь "семерка"?:) Мы же не вразделе 1с находимся, а в разделе "Проектирование баз данных".
Emery То чем я занимаюсь представлено на моем сайте ... Единственно, что огорчительно, что развивается он медленно (кроме него я веду еще несколько проектов). Уверен, что мне нужно иметь больше желания его развивать, чем чужого объяснения, «чем я занимаюсь» :) . Про другие проекты, Вы мне тоже будете рассказывать, чем я там занимаюсь :) ?
Так Вы создали тему для рекламы сайта? Ну тогда какие могут быть вопросы:) Хорошо будем читать материалы на Вашем сайте...
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044232
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Я уже сказал, моя собственная модель. Хотите, задавайте, уточняющие вопросы.
Задаю.
Это модель данных в первом значении по Дейту.
Можно сравнивать:
1) Реляционную модель данных (РМД).
2) Классическую объектную модель данных (КОМД).
3) Модель данных натурального учета (МДНУ).
?
Тогда рассмотрим аспект структуры для начала:
1) В РМД основным элементом структуры является отношение.
2) В КОМД основными элементами структуры являются объект и связь между объектами.
3) В МДНУ основными элементами структуры являются ???
Emery Я Вам сказал, что при фиксации (проведении) документа, все его свойства, в том числе свойства его ресурсов, с которыми он оперирует, на момент проведения «замораживаются». Сам ресурс со временем может изменить свои свойства или характеристики, но на проведенный («замороженный») документ это не окажет никакого влияния. Если только Вы не делаете перепроведения. Какая ошибка?
Конечно, ошибка. Вы написали, что значения характеристик сохраняются в документ. Но это же не так:) "Замораживаются" тоже бесполезный термин. Ничего подобного - не замораживаются, а продолжают изменяться, конечно же. Но, в рамках "документа", просто выводятся на определенную дату. Нет здесь никакой учетной политики, а есть технология хранения "исторических данных", о которой Вы рассказали в самом начале:)
Emery Чтобы «откорректировать одну операцию» проведенного документа его надо сначала «разморозить», т.е. аннулировать его проведение.
Совершенно очевидно, что не надо:) И далее Вы сами это подтверждаете, что ОДНА ИЗ операций в документе у Вас может быть откорректирована без "отмены проведения документа":)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044239
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery На самом деле все, что я хотел сказать по теме проектирования способа хранения данных в БД (проектировать собственно БД здесь я не собирался), я уже сказал в самом первом своем сообщении этого топика.
Саму модель предметной области, которую я реализовал в своих нестандартных конфигурациях 1С77 (проект «Lional») и собираюсь реализовать в независимом проекте «2E», как я их называю, я постепенно выложу на своем сайте, который я уже цитировал здесь.
Здесь я не собирался обсуждать свои проекты «Lional» и «2Е»...
Повторю, моя цель здесь была поделиться своей идеей о новой организации хранения данных. Как оказалось идея не нова и народу особо не нужна. В принципе на этом можно было бы закончить дискуссию. Но если меня спрашивают, то я стараюсь отвечать.
Скорее, Вы стараетесь подробно объяснить почему Вы не можете ответить:)
Emery Насчет архитектуры я уже объяснил, та, что уже реализована и даже лучше. А какова она – смотрите сайт, постепенно там будет выложена вся необходимая информация.]
Ничего Вы не объяснили "насчет архитектуры":)
Emery Что такое IMS? Интернет дает разные варианты этого термина.
СУБД, разумеется. От IBM. Мы же о "серверах БД" говорили. Какие могут быть варианты:)
Emery Какие новые запросы? Кто их будет делать? Пользователи или программист? Поскольку пишется конечное приложение, а не средство разработки, то все запросы предсказуемы и стандартизированы. Вполне достаточно будет параметризации их пользователем. А в предлагаемой схеме хранения данных принципиально различных запросов будет еще меньше. Опыт показывает, что все потенциальное разнообразие запросов можно свести к минимуму в конечной системе. Так что смех Ваш мимо цели :) .
Абсолютно в цель. Вы подтвердили, что:
1) Вы будете программировать приложение (уже плохо).
2) Пользователи не смогут делать произвольные запросы к БД (совсем плохо).
Emery В примере, который Вы не желаете рассматривать, dbf-файлы условной БД проецируются в память по технологии MMF и доступ к нужному полю dbf-таблицы происходит также как и обращение к обычной ячейке памяти. Все остальные заботы по отображению данных в списках, берет на себя виртуальный режим SysListView32. Очень удобно. Более сложные манипуляции данными также не представляют особых трудностей.
Примеры Вы не желаете рассматривать, отсылая к сайту. Хорошо, это Ваше право:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044248
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаСкажите, а "отношения между объектами" тоже представимы своими записями в "плоской" таблице базы данных?
«Отношения между объектами» это и есть записи во вторичных таблицах. Поскольку «линейная» таблица базы данных еще не реализована, то, да, можно сейчас говорить о «плоских» таблицах БД.

БредятинаМне недостаточно:) Я не спрашивал о взаимоотношении клиента с БД. Вы не можете объяснить почему Вы увязываете создание универсального клиента со способом хранения данных в БД (теперь Вы говорите о "варианте представления", хотя очевидно, что речь идет о хранении, а не о представлении):)
Отнюдь. Я не «увязываю создание универсального клиента со способом хранения данных в БД». Клиент потому и называется универсальным, что должен быть независим от БД. Но функции доступа из клиента в БД, могут иметь стандартизированный формат и определяться своей (внешней) ссылкой.

БредятинаХорошо, пусть это будет "модель натурального учета":)
Рад, что хоть с чем-то Вы согласились :) .

БредятинаEmery Речь шла о собственных конфигурациях в «семерке». Для УК конфигурацией можно назвать его конкретную настройку, так как предполагается, что это будет «конфигурируемый интерфейс».
При чем здесь "семерка"?:) Мы же не вразделе 1с находимся, а в разделе "Проектирование баз данных".
Просто хороший пример. Понятно, что я собираюсь реализовать программу учета, независимую от 1С.

БредятинаТак Вы создали тему для рекламы сайта? Ну тогда какие могут быть вопросы:) Хорошо будем читать материалы на Вашем сайте...
Я думал, что тема закончиться раньше, чем возникнет необходимость давать ссылки на свои наработки. Но поскольку Вы слишком «глубоко копаете» :) , то приходится давать дополнительную информацию, чтобы не быть голословным. А реклама мне не нужна. Что она мне дает? Коммерцией я пока не занимаюсь. Просто делюсь информацией, не более. Я же не рекламирую другие свои сайты, поскольку они немного отличаются от обсуждаемой темы и не создаю под них топики, хотя сами статьи публикую на этом и других сайтах для предварительного обсуждения. Думаю, что на базе этого обсуждения появится статья и на моем сайте :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044252
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Я уже сказал, моя собственная модель. Хотите, задавайте, уточняющие вопросы.
Задаю.
Это модель данных в первом значении по Дейту.
Можно сравнивать:
1) Реляционную модель данных (РМД).
2) Классическую объектную модель данных (КОМД).
3) Модель данных натурального учета (МДНУ).
?
Тогда рассмотрим аспект структуры для начала:
1) В РМД основным элементом структуры является отношение.
2) В КОМД основными элементами структуры являются объект и связь между объектами.
3) В МДНУ основными элементами структуры являются ???
Пока моя модель ни к Дэйту, ни к EAV, отношения не имеет. К сожалению, я могу говорить только о своих реализованных нестандартных конфигурациях 1С, с которыми вынужден иметь дело, пока не напишу независимую программу учета. Не знаю даже как мне быть? Рассказывать про 1С, - рискую нарваться на упреки. Говорить о независимой от 1С, но еще нереализованной модели как-то несерьезно.

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

Первичная таблица данных - таблица определений некоторого объекта, представимого своими записями в «плоской» таблице базы данных.

Вторичная таблица данных - таблица отношений между объектами (определенными в первичных таблицах данных), представимых своими записями в «плоской» таблице базы данных.

И в том, и в другом случае - это просто "таблицы базы данных". Как они формально различаются в модели? Или они различаются только в Вашем сознании (как в сознании Дейта различаются "отношения типа сущности" и "отношения типа связи")?
Emery Отнюдь. Я не «увязываю создание универсального клиента со способом хранения данных в БД». Клиент потому и называется универсальным, что должен быть независим от БД. Но функции доступа из клиента в БД, могут иметь стандартизированный формат и определяться своей (внешней) ссылкой.
Наконец-то! Теперь можно забыть об "универсальном клиенте" и вернуться к заявленной теме? Или подразумевалось, все-таки, "Универсальное представление данных в универсальном клиенте"? Или "Универсальное хранение данных - усовершенствованная EAV"? Какая тема-то у нас?:)
Emery Рад, что хоть с чем-то Вы согласились :).
Что значит согласился? Я ввожу за Вас определения Ваших терминов. Что мне еще остается:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044314
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Пока моя модель ни к Дэйту, ни к EAV, отношения не имеет. К сожалению, я могу говорить только о своих реализованных нестандартных конфигурациях 1С, с которыми вынужден иметь дело, пока не напишу независимую программу учета. Не знаю даже как мне быть? Рассказывать про 1С, - рискую нарваться на упреки. Говорить о независимой от 1С, но еще нереализованной модели как-то несерьезно.
Еще как серьезно. Не нужно ничего рассказывать нужно просто, для начала, вписать нужный текст в шаблон вопроса:
Рассмотрим аспект структуры для начала:
1) В РМД основным элементом структуры является отношение.
2) В КОМД основными элементами структуры являются объект и связь между объектами.
3) В МДНУ основными элементами структуры являются ???
Emery Да, отменять проведение документа не нужно (есть, правда, нюансы, но не будем заострять на них внимание), но нужно сначала отменить проведение одной операции документа, которую редактируем.
Загадочная фраза:) Особенно, если помнить, что все состоит из нюансов. Тем не менее, очевидно, что отменять проведение даже одной операции не нужно, так как функция корректировки операции в документе, находящемся в определенном состоянии (Вы это называете "документ проведен"), автоматически предполагает "отмену проведения операции".
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044333
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаСкорее, Вы стараетесь подробно объяснить почему Вы не можете ответить:)
Вам надо следователем работать :) . Конечно, похвально, что Вы интересуетесь всеми нюансами моих исследований, только чтобы хорошо все изложить нужно время и настроение. Лучшая форма для этого сайты. Там можно не спеша подробно все разжевывать. Сейчас у меня нет особого настроения вникать во все детали. Если Вы хотите иметь полную картину, то вряд ли получиться. Материала много и он еще не полностью оптимизирован.

БредятинаНичего Вы не объяснили "насчет архитектуры":)
Архитектуры чего Вы хотите узнать?

БредятинаEmeryЧто такое IMS? Интернет дает разные варианты этого термина.
СУБД, разумеется. От IBM. Мы же о "серверах БД" говорили. Какие могут быть варианты:)
Зачем нам здесь IMS? Вы вот подняли тему TR, но при всей ее «интересности», по ней нет даже полной теории. Есть только метода работы с БД, находящейся в памяти и только на чтение. А многие важные вопросы по TR, которые перечислил Дэйт в резюме по ней, отосланы к книге, которая еще не издана. Получается, что реально это еще «сырая» концепция.

БредятинаАбсолютно в цель. Вы подтвердили, что:
1) Вы будете программировать приложение (уже плохо).
2) Пользователи не смогут делать произвольные запросы к БД (совсем плохо).
Во-первых, нужные запросы все достаточно стандартизированы, чтобы переживать по этому поводу. А во-вторых, я делаю приложение не для программистов, а для конечных пользователей. А они и не умеют и не хотят «делать произвольные запросы к БД». Просто, такие системы, как 1С, где программист должен доводить напильником этот «полуфабрикат» до кондиции, меня уже не прикалывают. В итоге, конфигурации запрограммированы очень плохо, вторичное допрограммирование их полупользователями-полупрограммистами делается еще хуже. В конечном счете, на выходе имеем монстра, работать с которым (внедрять, сопровождать) нет ни малейшего желания. Тем более что подобных средств разработки создано уже достаточно, зачем плодить еще одну? Тем не менее, моя система будет открыта, даже не уровне исходных текстов. Так что желающим развивать ее можно будет приложить свои усилия.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044335
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery такие системы, как 1С, где программист должен доводить напильником этот «полуфабрикат» до кондиции, меня уже не прикалывают. В итоге, конфигурации запрограммированы очень плохо, вторичное допрограммирование их полупользователями-полупрограммистами делается еще хуже. В конечном счете, на выходе имеем монстра, работать с которым (внедрять, сопровождать) нет ни малейшего желания. Тем более что подобных средств разработки создано уже достаточно, зачем плодить еще одну? Тем не менее, моя система будет открыта, даже не уровне исходных текстов. Так что желающим развивать ее можно будет приложить свои усилия.
Вы же сказали в начале, что системы, где программист должен доводить напильником до кондиции не прикалывают. В итоге предлагаете этим самым программистам развивать то, что вы даже описать толком не можете.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044344
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаИтак, уточняем определения:

Первичная таблица данных - таблица определений некоторого объекта, представимого своими записями в «плоской» таблице базы данных.

Вторичная таблица данных - таблица отношений между объектами (определенными в первичных таблицах данных), представимых своими записями в «плоской» таблице базы данных.

И в том, и в другом случае - это просто "таблицы базы данных". Как они формально различаются в модели? Или они различаются только в Вашем сознании (как в сознании Дейта различаются "отношения типа сущности" и "отношения типа связи")?
Думаю, что никак. Да, мы имеем набор таблиц, связи между которыми являются метаинформацией. Эта метаинформация может быть представлена схемами данных, которых я много рисовал на этапе проектировании своей системы (в 1С77). Более того, из всех объектов 1С77 я использовал только справочники, константы, перечисления, обработки и план счетов. Т.е. все таблицы, в том числе документов, регистров и журналов документов, у меня представлены объектами типа «справочник». Все связи, которые я использовал, это отношения «один ко многим» (подчиненные справочники) и «многие к одному» (ссылки на элементы других справочников, по терминологии 1С). Этих возможностей мне оказалось вполне достаточно, чтобы не чувствовать почти никаких ограничений ядра 1С. А так это типичная «реляционная модель».

БредятинаEmery Отнюдь. Я не «увязываю создание универсального клиента со способом хранения данных в БД». Клиент потому и называется универсальным, что должен быть независим от БД. Но функции доступа из клиента в БД, могут иметь стандартизированный формат и определяться своей (внешней) ссылкой.
Наконец-то! Теперь можно забыть об "универсальном клиенте" и вернуться к заявленной теме? Или подразумевалось, все-таки, "Универсальное представление данных в универсальном клиенте"? Или "Универсальное хранение данных - усовершенствованная EAV"? Какая тема-то у нас?:)
У меня не было ни вопросов, ни особого желания говорить о клиенте БД. Это все была попутная информация. Я думал, что информация о «новом» способе хранения данных будет интересна другим. Практически в первых двух страницах темы все точки на «i» по этому вопросу были поставлены. Фактически тему можно было закрывать. Но попутно у народа возникло желание обсудить весь проект целиком. Только здесь, на самом деле два проекта: 1С-овский (нестандартный), который реализован, но еще не до конца оптимизирован, даже на платформе 1С (например, я могу уже отказаться от внешнего приложения VFP, в котором ведется расчет зарплаты и обмен данными с 1С, как DDE-сервером, без потери производительности, и объединить «учет ресурсов» с «учетом начислений» + «бухгалтерский учет») и 1С-независимый проект, который пишется на MFC, но который еще далек от завершения, даже в первом приближении. Понятно, что обсудить подробно эти два проекта в этой теме маловероятно. Просто не тот формат обсуждения.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044356
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Вам надо следователем работать :) . Конечно, похвально, что Вы интересуетесь всеми нюансами моих исследований, только чтобы хорошо все изложить нужно время и настроение. Лучшая форма для этого сайты. Там можно не спеша подробно все разжевывать. Сейчас у меня нет особого настроения вникать во все детали. Если Вы хотите иметь полную картину, то вряд ли получиться. Материала много и он еще не полностью оптимизирован.
Понимаю, и, именно поэтому, локализую и конкретизирую. То есть, даже не столько сам анализирую, сколько Вам помогаю анализировать:)
Emery Архитектуры чего Вы хотите узнать?
Данных, конечно.
Emery Зачем нам здесь IMS?
Затем, что "универсальный клиент", не зависит от сервера БД, как Вы сказали. Опять уходите от простых вопросов:)
Emery Вы вот подняли тему TR, но при всей ее «интересности», по ней нет даже полной теории. Есть только метода работы с БД, находящейся в памяти и только на чтение. А многие важные вопросы по TR, которые перечислил Дэйт в резюме по ней, отосланы к книге, которая еще не издана. Получается, что реально это еще «сырая» концепция.
Не сочиняете:) Тему новых направлений в хранении данных подняли Вы, а не я. Я просто расширяю Ваш кругозор. Книга может и не будет никогда издана. Вот здесь критический анализ некоторых аспектов, но однобокий...
http://www.webservertalk.com/message480744.html
Emery Во-первых, нужные запросы все достаточно стандартизированы, чтобы переживать по этому поводу.
Не думаю, что это просто заблуждение:) Я хорошо знаком с классом систем, которую Вы создаете, и хорошо знаю, что это не правда:)
Emery А во-вторых, я делаю приложение не для программистов, а для конечных пользователей. А они и не умеют и не хотят «делать произвольные запросы к БД».
Я то знаю, что умеют и хотят. Так что эти сказки Вы кому-нибудь другому рассказывайте:)
Emery Просто, такие системы, как 1С, где программист должен доводить напильником этот «полуфабрикат» до кондиции, меня уже не прикалывают. В итоге, конфигурации запрограммированы очень плохо, вторичное допрограммирование их полупользователями-полупрограммистами делается еще хуже. В конечном счете, на выходе имеем монстра, работать с которым (внедрять, сопровождать) нет ни малейшего желания. Тем более что подобных средств разработки создано уже достаточно, зачем плодить еще одну?
Это крик души:) Про недостатки 1с лучше говорить в разделе 1с.
Emery Тем не менее, моя система будет открыта, даже не уровне исходных текстов. Так что желающим развивать ее можно будет приложить свои усилия.
Замечательно. Осталось понять о какой системе идет речь.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044368
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Думаю, что никак.
Я и не сомневался.
Emery Да, мы имеем набор таблиц, связи между которыми являются метаинформацией.
Вы, надеюсь, имеете в виду описание связей. Так описание таблиц тоже является метаинформацией. Что-то Вы здесь путаете:)
Emery Эта метаинформация может быть представлена схемами данных, которых я много рисовал на этапе проектировании своей системы (в 1С77).
Так в этих "схемах данных" есть ведь и "таблицы", а не только "связи" между ними:)
Emery Более того, из всех объектов 1С77 я использовал только справочники, константы, перечисления, обработки и план счетов. Т.е. все таблицы, в том числе документов, регистров и журналов документов, у меня представлены объектами типа «справочник». Все связи, которые я использовал, это отношения «один ко многим» (подчиненные справочники) и «многие к одному» (ссылки на элементы других справочников, по терминологии 1С). Этих возможностей мне оказалось вполне достаточно, чтобы не чувствовать почти никаких ограничений ядра 1С. А так это типичная «реляционная модель».
В реляционной модели нет "справочников", "перечислений", "обработок", "плана счетов", "документов", "регистров" и "журналов документов". Пока, выводы такие:

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

2) МДНУ отменяется. Это оказалась РМД:)

3) На смену "первичной таблицы данных" и "вторичной таблицы данных" приходят "справочник", "перечисление", "обработка", "план счетов", "документ", "регистр" и "журнал документа". Это концепции модели данных, используемой в "универсальном клиенте"?
Emery У меня не было ни вопросов, ни особого желания говорить о клиенте БД. Это все была попутная информация. Я думал, что информация о «новом» способе хранения данных будет интересна другим. Практически в первых двух страницах темы все точки на «i» по этому вопросу были поставлены. Фактически тему можно было закрывать. Но попутно у народа возникло желание обсудить весь проект целиком.

Только давайте по частям обсуждать, чтобы ничего не перепутывать.
Emery Понятно, что обсудить подробно эти два проекта в этой теме маловероятно. Просто не тот формат обсуждения.
Достаточно обсудить перспективы проектов, в которых:
1) Программисты должны что-то программировать.
2) Пользователи не управляют интерфейсом.
3) Пользователи не могут в управляемом интерфейсе получать нужную им информацию произвольным образом.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044388
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmeryГоворить о независимой от 1С, но еще нереализованной модели как-то несерьезно.
Еще как серьезно. Не нужно ничего рассказывать нужно просто, для начала, вписать нужный текст в шаблон вопроса:
Рассмотрим аспект структуры для начала:
1) В РМД основным элементом структуры является отношение.
2) В КОМД основными элементами структуры являются объект и связь между объектами.
3) В МДНУ основными элементами структуры являются ???
На «плоском» уровне имеются типичные реляционные отношения между таблицами («один ко многим» и «многие к одному»). Этого мне вполне достаточно. Реализация «один ко многим» производится в виде подчиненной таблицы, а «многие к одному» в виде ссылки на запись другой таблицы. Об этом я уже писал. И реализация и связь, все как в 1С77, только у меня все гораздо проще и как ни странно, менее огрничительно.

БредятинаEmery Да, отменять проведение документа не нужно (есть, правда, нюансы, но не будем заострять на них внимание), но нужно сначала отменить проведение одной операции документа, которую редактируем.
Загадочная фраза:) Особенно, если помнить, что все состоит из нюансов. Тем не менее, очевидно, что отменять проведение даже одной операции не нужно, так как функция корректировки операции в документе, находящемся в определенном состоянии (Вы это называете "документ проведен"), автоматически предполагает "отмену проведения операции".
Документ у меня может быть: «полностью проведенным» (все его операции проведены), «не полностью проведенным» (не все его операции проведены) и «не проведенным» (все его операции не проведены), Проведенную операцию можно легко аннулировать, если только она не учувствует в других проводках. В этом случае, сначала надо снять проведение с «вышестоящих» операций, задействующих данную «нижестоящую» операцию и затем уже «снимать» с нее проведение. Для подобных манипуляций у меня предусмотрено пакетное проведение и «снятие» проведения по определенным условиям. Вот и вся «загадка» :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044396
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmEmery такие системы, как 1С, где программист должен доводить напильником этот «полуфабрикат» до кондиции, меня уже не прикалывают. В итоге, конфигурации запрограммированы очень плохо, вторичное допрограммирование их полупользователями-полупрограммистами делается еще хуже. В конечном счете, на выходе имеем монстра, работать с которым (внедрять, сопровождать) нет ни малейшего желания. Тем более что подобных средств разработки создано уже достаточно, зачем плодить еще одну? Тем не менее, моя система будет открыта, даже не уровне исходных текстов. Так что желающим развивать ее можно будет приложить свои усилия.
Вы же сказали в начале, что системы, где программист должен доводить напильником до кондиции не прикалывают. В итоге предлагаете этим самым программистам развивать то, что вы даже описать толком не можете.
Полностью описать прикладную модель учета на предприятии со всеми нюансами довольно трудно. Это можно сделать только на сайте за довольно продолжительное время. Концептуально это будет обычная реляционная модель на уровне реализации (отображения). На уровне хранения данных модель может быть другая, какая именно, еще точно не определился. На прикладном уровне это первичность натуральных операций и вторичность бухгалтерских операций. Первая версия БД буде реализована в dbf-файлах отображаемых в память по технологии MMF. Интерфейс будет конфигурируемым на базе виртуального режима CListCtrl (MFC). Дальнейшее развитие возможно по различным направлениям, но пока так. Система будет открыта как для пользователей (на уровне настроек, метаданных и пользовательского универсального генератора отчетов), так и на уровне программистов (все коды будут открытыми и подробно описанными в соответствующих статьях). Пользователю будет предлагаться конечная, уже настроенная система, которую ему, в принципе, не обязательно перенастраивать, если только не измениться законодательство или не появятся новые требования руководства. Вот такая общая идея. А нюансов реализации будет еще множество.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044408
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryПолностью описать прикладную модель учета на предприятии со всеми нюансами довольно трудно. Это можно сделать только на сайте за довольно продолжительное время.

а какое отношение к какой-то модели учета на предприятии это имеет отношение?
Вы себе толком не представляете чего хотите, имхо. Изобретаете что-то, что уж давно изобретено, до сих пор живете терминами преставившейся 1С77. Ладно, успехов. Не мои же деньги и время тратятся, в конце концов.....
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044416
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаПонимаю, и, именно поэтому, локализую и конкретизирую. То есть, даже не столько сам анализирую, сколько Вам помогаю анализировать:)
Мне помогать анализировать не нужно. Я это делать сам умею. И по мере возможности делюсь своей информацией с другими. То, что не все понятно, согласен, но ведь и не все еще сказано. Реально Вы можете помочь только новой, неизвестной для меня информацией, как с TR, например. Даже того минимума теории опубликованного по ней достаточно, чтобы пытаться развивать эти идеи самостоятельно, хотя я и не люблю переоткрывать уже известное.

БредятинаEmery Архитектуры чего Вы хотите узнать?
Данных, конечно.
Пока все данные будут храниться в dbf-таблицах. Это то, что я могу сказать однозначно.

БредятинаEmery Зачем нам здесь IMS?
Затем, что "универсальный клиент", не зависит от сервера БД, как Вы сказали. Опять уходите от простых вопросов:)
Почему бы это не сказать сразу? И где на него ссылка?

БредятинаНе сочиняете:) Тему новых направлений в хранении данных подняли Вы, а не я. Я просто расширяю Ваш кругозор. Книга может и не будет никогда издана. Вот здесь критический анализ некоторых аспектов, но однобокий...
http://www.webservertalk.com/message480744.html
Эту страницу я уже находил, когда делал запрос по TR. Если надумаю развивать это направление, то тогда еще вернусь к ней и подобным.

БредятинаEmery Во-первых, нужные запросы все достаточно стандартизированы, чтобы переживать по этому поводу.
Не думаю, что это просто заблуждение:) Я хорошо знаком с классом систем, которую Вы создаете, и хорошо знаю, что это не правда:)
Интересно Вы рассуждаете :) . В первом приближении система уже реализована на ядре 1С77. И с запросами там у меня проблем нет. Ибо альтернативой запросам служат еще предварительная обработка данных, в том числе проведение и предварительный расчет (да, это контролируемая избыточность данных) и «правильная» индексация. Плюс полный контроль за структурой БД и ее метаданных. Я собираюсь большую часть этой идеологии и технологии перенести на 1С-независимую платформу. И почему это не должно работать?

[quot Бредятина]Emery А во-вторых, я делаю приложение не для программистов, а для конечных пользователей. А они и не умеют и не хотят «делать произвольные запросы к БД».
Я то знаю, что умеют и хотят. Так что эти сказки Вы кому-нибудь другому рассказывайте:)
На этот вопрос я уже два раза отвечал. Система будет открыта и для тех и других. Только обычные пользователи делать перенастройку и перепрограммирование не обязаны. Все должно работать хорошо и так. По крайней мере, я к этому стремлюсь.

БредятинаЗамечательно. Осталось понять о какой системе идет речь.
Прототип – мой «учет ресурсов и начислений» на 1С77, оптимизированный вариант которой на ядре 1С77 будет называться «Lional», новая система – проект «2Е», первый намёк на который уже есть на сайте.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044417
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery На «плоском» уровне имеются типичные реляционные отношения между таблицами («один ко многим» и «многие к одному»). Этого мне вполне достаточно. Реализация «один ко многим» производится в виде подчиненной таблицы, а «многие к одному» в виде ссылки на запись другой таблицы. Об этом я уже писал. И реализация и связь, все как в 1С77, только у меня все гораздо проще и как ни странно, менее огрничительно.
Вы все время отстаете от актуальных вопросов:) С тем, что нет никакой МДНУ, а есть РМД мы уже разобрались.
Emery Документ у меня может быть: «полностью проведенным» (все его операции проведены), «не полностью проведенным» (не все его операции проведены) и «не проведенным» (все его операции не проведены), Проведенную операцию можно легко аннулировать, если только она не учувствует в других проводках.
Ненужные усложнения. Никому не нужны не целостные документы. Это ничего не дает на практике. И опять новые термины - "аннулировать", другие "проводки". Давайте мы эту ветку закроем, так как изучение Вашей загадочной "учетной политики" ничего не прибавить в понимании моделей данных.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044420
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery[1] На уровне хранения данных модель не известна.
[2] Обычная реляционная модель на уровне реализации (отображения).
[3] На прикладном уровне это первичность натуральных операций и вторичность бухгалтерских операций.
Я по-прежнему старательно формализую Ваши высказывания. Постепенно мы приближаемся к истине:)
Объясните чем отличается "уровень реализации (отображения)" от "прикладного уровня"? Казалось бы "уровень отображения" это и есть "прикладной уровень"?
Так какая именно модель данных используется на "прикладном уровне" [3], если он отличается от "уровня отображения" [2]?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044423
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Интересно Вы рассуждаете :) . В первом приближении система уже реализована на ядре 1С77. И с запросами там у меня проблем нет. Ибо альтернативой запросам служат еще предварительная обработка данных, в том числе проведение и предварительный расчет (да, это контролируемая избыточность данных) и «правильная» индексация. Плюс полный контроль за структурой БД и ее метаданных. Я собираюсь большую часть этой идеологии и технологии перенести на 1С-независимую платформу. И почему это не должно работать?
Я и не говорил, что Ваше приложение не будет работать:) Вы опять пространными рассуждениями о своем (не умышленно наверное) скрываете простой факт: пользователи не могут получать произвольно нужную им информацию:)
Emery На этот вопрос я уже два раза отвечал. Система будет открыта и для тех и других. Только обычные пользователи делать перенастройку и перепрограммирование не обязаны. Все должно работать хорошо и так. По крайней мере, я к этому стремлюсь.
Нет, Вы ниразу не сказали правду: "Пользователи моего приложения не смогут делать произвольные запросы к БД».
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044435
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Да, мы имеем набор таблиц, связи между которыми являются метаинформацией.
Вы, надеюсь, имеете в виду описание связей. Так описание таблиц тоже является метаинформацией. Что-то Вы здесь путаете:)
Да, вольность речи :) . Метаинформация по описанию таблиц есть в базе, а по описанию связей нет. Эту связь можно увидеть только в самом коде.

БредятинаEmery Эта метаинформация может быть представлена схемами данных, которых я много рисовал на этапе проектировании своей системы (в 1С77).
Так в этих "схемах данных" есть ведь и "таблицы", а не только "связи" между ними:)
Есть, ну и что? Разве трудно понять связи между таблицами «один ко многим» и «многие к одному»?

БредятинаВ реляционной модели нет "справочников", "перечислений", "обработок", "плана счетов", "документов", "регистров" и "журналов документов".
Последних трех нет и в моей реализации, как объектов 1С (в этом смысле объектная модель ядра 1С77 очень избыточна). Все остальное сводиться к обычным таблицам, в том числе таблицы документов. Обработки могут быть представлены внутренними и внешними модулями (например, плагинами). Так что, «модель 1С» полностью вложима в «реляционную модель».

Бредятина1) Термины "первичная таблица данных" и "вторичная таблица данных" оказались бесполезными для модели данных (они не поддерживаются в Вашей модели). Это было очевидно изначально. Например, у Персоны могут быть характеристики Фамилия, Имя, Адрес проживания (ссылка на дом, от которого автоматически строится полный адрес, или как это у Вас называется), Адрес прописки (аналогично), Дата рождения и т.п. Очевидно, что это и "таблица первичных данных" и "таблица вторичных данных" (ведь в ней есть "отношение между объектами":)
Поддерживаются не поддерживаются – не в этом вопрос. Просто без понимания этих различий в таблицах трудно построить оптимальную структуру БД. Не хотите, не применяйте эти термины, я свою идеологию никому не навязываю. Я еще не говорил об этом, но таблица сотрудников это очень сложный «справочник». Он имеет множество подчиненных справочников, большое количество полей массу таблиц, на которые ссылается. Но это все первичные таблицы, так как одно определение ссылается на другое определение, или одно определение имеет несколько других подчиненных определений. Например, сотрудник может иметь несколько назначений, подразделений, графиков работы и т.п. одновременно. Но «отношения» между ними еще никакого нет, только иерархическая структура «определений».

«Отношения» для сотрудников (в данном случае с временны’ми промежутками рабочего времени) начинаются в справочнике (таблице) документов «Первичные табеля». Часть расчетов делается сразу, а часть являются отложенными расчетами. При запуске процедуры «Расчет», заданные группы «Первичных табелей» рассчитываются и результаты расчета переносятся в соответствующие группы таблиц-документов «Вторичные табеля». Далее «Вторичные табеля» проводятся по подчиненным справочникам «Табульки сотрудников». Вот этот подчиненный справочник сотрудников является уже вторичной таблицей. Которые затем используются для расчетов в следующих периодах. В будущем думаю проводить не только «вторичные табеля», но и первичные и не только по отчетным периодам, но и по зачетным. Это сильно сократит время расчета зарплаты сотрудников. В «учете ресурсов» реализован ортогональный учет, говорить о котором можно долго.

Бредятина2) МДНУ отменяется. Это оказалась РМД:)
Я этот термин и не предлагал :) .

Бредятина3) На смену "первичной таблицы данных" и "вторичной таблицы данных" приходят "справочник", "перечисление", "обработка", "план счетов", "документ", "регистр" и "журнал документа". Это концепции модели данных, используемой в "универсальном клиенте"?
Это лишь удобные синонимы на этапе перехода от одной системы к другой. Эквивалентность терминов должна быть очевидна.

БредятинаДостаточно обсудить перспективы проектов, в которых:
1) Программисты должны что-то программировать.
2) Пользователи не управляют интерфейсом.
3) Пользователи не могут в управляемом интерфейсе получать нужную им информацию произвольным образом.
Что-то Вы все усложняете. Я исхожу из удобства работы обычных пользователей. Программисты уже доказали свою неспособность писать прикладные конфигурации, ориентированные на собственно учет (типа, не их это дело вникать в бухгалтерию). Посмотрите на проект «2С». Как только возникла необходимость создавать реальные конфигурации на его основе, так проект и заглох, поскольку программисты не хотят заниматься бухгалтерией, а бухгалтера программированием.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044450
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Метаинформация по описанию таблиц есть в базе, а по описанию связей нет. Эту связь можно увидеть только в самом коде.
Я так и знал. Но Вы же должны понимять, что "связи" - это те же данные, а данные должны быть отделены от кода:)
Emery Разве трудно понять связи между таблицами «один ко многим» и «многие к одному»?
Вы банально не знакомы с проблемами моделирования данных. Не удивительно, что:
1) Вы думаете, что "с серверами БД все в порядке".
2) Вы настраиваете над РМД какие-то свои модели данных с "регистрами" и "документами".
3) Пользователи Ваших приложений не могут извлекать из БД нужную информацию самостоятельно.
Так это у Вас вообще не ПРИЛОЖЕНИЕ БАЗ ДАННЫХ. Сказали бы сразу, что Вы занимаетесь, например, приложениями для работы со "слабоструктурированными данными", или еще что-то вроде этого. Я бы тогда и вопросов не стал задавать:)
Emery Последних трех нет и в моей реализации, как объектов 1С (в этом смысле объектная модель ядра 1С77 очень избыточна). Все остальное сводиться к обычным таблицам, в том числе таблицы документов. Обработки могут быть представлены внутренними и внешними модулями (например, плагинами). Так что, «модель 1С» полностью вложима в «реляционную модель».
Важный момент. Итак, вы ранее, когда я Вас спрашивал о модели данных, надстраиваемой над моделью данных "сервера БД", имели в виду "объектную модель ядра 1с". Очень избыточна. Я думаю, что и большинство понятий, которые Вы зачем то оставили, тоже избыточны:) А вот отсутствие поддержки связей между объектами - это фундаментальный недостаток.
Emery Поддерживаются не поддерживаются – не в этом вопрос. Просто без понимания этих различий в таблицах трудно построить оптимальную структуру БД. Не хотите, не применяйте эти термины, я свою идеологию никому не навязываю.
Не хитрите:) Я Вам привел пример, когда одна таблица является и "таблицей первичных данных" и "таблицей вторичных данных". А Вы продолжаете говорить о какой-то идеологии. Очевидно же, что не работает Ваша идеология:)
Emery Я еще не говорил об этом, но таблица сотрудников это очень сложный «справочник».
И правильно сделали:) Почитайте соседнюю тему про Нормальную форму Бойса-Кодда:)
Emery {О терминах "первичная таблица данных", "вторичная таблица данных" и "справочник", "перечисление", "обработка", "план счетов", "документ", "регистр", "журнал документа".}
Это лишь удобные синонимы на этапе перехода от одной системы к другой. Эквивалентность терминов должна быть очевидна."
То есть, все эти термины не имеют никакого отношения к моделям данных (на любом уровне). Хорошо.
Emery Что-то Вы все усложняете. Я исхожу из удобства работы обычных пользователей.
Я все предельно упрощаю. При использовании Вашей "идеологии":
1) Программисты должны постоянно что-то программировать.
2) Пользователи не управляют интерфейсом.
3) Пользователи не могут в управляемом интерфейсе получать нужную им информацию произвольным образом.
Что же здесь сложного?:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044525
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery[1] На уровне хранения данных модель не известна.
[2] Обычная реляционная модель на уровне реализации (отображения).
[3] На прикладном уровне это первичность натуральных операций и вторичность бухгалтерских операций.
Я по-прежнему старательно формализую Ваши высказывания. Постепенно мы приближаемся к истине:)
Объясните чем отличается "уровень реализации (отображения)" от "прикладного уровня"? Казалось бы "уровень отображения" это и есть "прикладной уровень"?
Так какая именно модель данных используется на "прикладном уровне" [3], если он отличается от "уровня отображения" [2]?
Почему писал «неизвестно», так потому, что заинтересовался TR, думал, может быть удастся ее «прилепить» к своей БД. Но, похоже, эта модель не имеет никаких преимуществ, перед той схемой хранения данных, что описана в начале этого топика. Динамическая TR эквивалентна работе со списками, а те в свою очередь работе с индексами. Используя нашу разновидность EAV, мы предполагаем индексировать все поля таблиц, в которых присутствует небольшое количество фиксированных столбцов. В итоге выйдем на ту же производительность, что при TR, но не имея геморроя при разработке новой системы БД.

К «истине» приближаетесь Вы, для меня ничего ни нового, ни непонятного нет.

«Уровень реализации» - это представление (отображение) данных на уровне пользовательского интерфейса. «Прикладной уровень» это реализация методологии учета на уровне кода. Так что для меня это немного разные понятия.

Итак, еще раз. Скажем, справочник сотрудников, в форме списка, может иметь (отображать на уровне интерфейса пользователя) десятки полей (которыми можно будет манипулировать), но храниться будет так, как продемонстрировано в таблицах 1 и 2 (с шестью и восьмью индексированными полями).
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044530
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаЯ и не говорил, что Ваше приложение не будет работать:) Вы опять пространными рассуждениями о своем (не умышленно наверное) скрываете простой факт: пользователи не могут получать произвольно нужную им информацию:)
. . .
Нет, Вы ниразу не сказали правду: "Пользователи моего приложения не смогут делать произвольные запросы к БД».
Я этого и не скрывал и это вполне очевидно. Система будет слишком простая, чтобы поддерживать произвольные запросы. Кому нужны средства разработки, пусть юзают другие системы. Вместо этого я хочу сделать конечный продукт. Раз подразумеваются произвольные запросы, значит, кто-то должен настраивать, адаптировать систему для конечных пользователем. Ведь не тетеньки-бухгалтера предпенсионного возраста должны делать эти самые «произвольные запросы»? Они и мышкой то тыкать толком не умеют, а сохранить файл на диск и затем перебросить его в другое место для них вообще неподъемная задача. Им вполне будет достаточно внешних настроек и генератора отчетов уровня пользователя (который все равно придется настраивать мне). Если кто-то сильно хочет, пусть, либо делает внешние запросы из моих dbf-файлов, либо адаптирует под себя исходные тексты программы. Ради Бога! Я уже говорил, что обычные программисты не любят вникать в бухгалтерскую суть. Потому и предлагаемые бухгалтерские программы все такие бестолковые. Последний «шедевр» -бесплатная программа «Дебет-плюс» 12-й версии, написанная на Яве. Этот монстр с трудом идет даже на моей, очень не слабой тачке.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044567
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery Метаинформация по описанию таблиц есть в базе, а по описанию связей нет. Эту связь можно увидеть только в самом коде.
Я так и знал. Но Вы же должны понимять, что "связи" - это те же данные, а данные должны быть отделены от кода:)
Эта связь на уровне первичных и вторичных таблиц или справочников и документов в терминологии 1С. Связь эта вполне фиксированная и достаточно простая для конечных учетных задач, чтобы заниматься ее формализацией и вычленением. Ничего это мне не даст, кроме ненужного усложнения структуры. И даже совершенствование структуры, которая будет в новых проектах, не повод делать «связи» данными. Так что я никому, ничего не должен :) .

БредятинаВы банально не знакомы с проблемами моделирования данных. Не удивительно, что:
1) Вы думаете, что "с серверами БД все в порядке".
2) Вы настраиваете над РМД какие-то свои модели данных с "регистрами" и "документами".
3) Пользователи Ваших приложений не могут извлекать из БД нужную информацию самостоятельно.
Так это у Вас вообще не ПРИЛОЖЕНИЕ БАЗ ДАННЫХ. Сказали бы сразу, что Вы занимаетесь, например, приложениями для работы со "слабоструктурированными данными", или еще что-то вроде этого. Я бы тогда и вопросов не стал задавать:)
Интересно, почему те, «кто знаком с проблемами моделирования данных» не предлагает ничего путного в качестве конечного решения? Почему все предлагаемые решения только «промежуточные» , либо недостаточно комфортные для работы? Заметьте, я ведь никого ни учу «уму-разуму» и не навязываю своих идей, а просто делюсь ними. И почему-то все, считают своим долгом доказать, что я не прав. Если бы существовали удобные для работы системы учета, готовые для работы по факту, а не «в принципе», я бы, поверьте, нашел бы для себя более интересное занятие, чем заниматься программированием учета.

БредятинаВажный момент. Итак, вы ранее, когда я Вас спрашивал о модели данных, надстраиваемой над моделью данных "сервера БД", имели в виду "объектную модель ядра 1с". Очень избыточна. Я думаю, что и большинство понятий, которые Вы зачем то оставили, тоже избыточны:) А вот отсутствие поддержки связей между объектами - это фундаментальный недостаток.
Опять Вы все усложняете. Моя БД это просто набор dbf-файлов, для которых даже контейнер dbc не нужен. Метаданные тоже будут находиться в dbf-файлах. Никаких «объектов модели ядра 1с» не будет, как не нужных. Структура связей будет в коде, но этот код будет хорошо структурирован. Конфигурации доже будут интегрированы в код, но также хорошо структурированы в нем. Максимум настроек будет вынесено наружу, также в dbf-файлы. Естественно, это не будет средством разработки, но я к этому и не стремлюсь. Моя цель – простая, конечная, удобная в работе учетная система. Один человек не сможет удовлетворить все запросы и пожелания. Ему это не под силу. Достаточно, если система будет просто востребована вместо других, аналогичных.

БредятинаEmery Поддерживаются не поддерживаются – не в этом вопрос. Просто без понимания этих различий в таблицах трудно построить оптимальную структуру БД. Не хотите, не применяйте эти термины, я свою идеологию никому не навязываю.
Не хитрите:) Я Вам привел пример, когда одна таблица является и "таблицей первичных данных" и "таблицей вторичных данных". А Вы продолжаете говорить о какой-то идеологии. Очевидно же, что не работает Ваша идеология:)
Таких в моей системе нет, об этом я уже говорил, хотя первичные таблицы могут иметь своими подчиненными вторичные таблицы. Мне эта структура понятна и путаницы не вызывает. Согласен, что другим она может быть непонятна, ибо пока не опубликован весь код с пояснениями, трудно ожидать адекватного восприятия.

БредятинаEmery Я еще не говорил об этом, но таблица сотрудников это очень сложный «справочник».
И правильно сделали:) Почитайте соседнюю тему про Нормальную форму Бойса-Кодда:)
С этого я и начинал программирование своих учетных программ. Только реальной пользы от этого мало. Переключился полностью на свою интуицию и начал постепенно решать стоящие передо мной проблемы. Все получилось, как нельзя лучше. Сейчас пришло время заниматься совершенствованием и оптимизацией своих наработок.

БредятинаEmery Что-то Вы все усложняете. Я исхожу из удобства работы обычных пользователей.
Я все предельно упрощаю. При использовании Вашей "идеологии":
1) Программисты должны постоянно что-то программировать.
2) Пользователи не управляют интерфейсом.
3) Пользователи не могут в управляемом интерфейсе получать нужную им информацию произвольным образом.
Что же здесь сложного?:)
Вам еще не надоело ходить по кругу? Я разрабатываю, внедряю и сопровождаю свои программы, пользователи работают с ней и со своими проблемами идут ко мне. Я заинтересован, чтобы у них таких проблем было поменьше, а свободного времени у меня побольше. Избыток своего свободного времени я хочу потратить на расширение возможностей своих программ. И отнюдь не собираюсь «играть по чужим правилам». Нравиться это кому-то или нет. У меня есть собственные представления, «что такое хорошо и что такое плохо» в программировании учетных задач. Каждый может идти свои путем, доказывая его «правильность» и «истинность». Вот и вся идеология :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044585
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery К истине приближаетесь Вы, для меня ничего ни нового, ни непонятного нет.
После того, как Вам пришлось согласиться с тем, что Вы допускали ошибочные высказывания, и Ваша идеология соответсвует давно устаревшим технологиям, я, конечно, соглашусь, что к истине приближаюсь я:)
Emery «Уровень реализации» - это представление (отображение) данных на уровне пользовательского интерфейса. «Прикладной уровень» это реализация методологии учета на уровне кода. Так что для меня это немного разные понятия.
Отлично. Код совсем не интересен. Так приложение не должно программироваться (это устаревший подход), оно должно проектироваться.
Итак, для ОТОБРАЖЕНИЯ ДАННЫХ НА УРОВНЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ВЫ ИСПОЛЬЗУЕТЕ РЕЛЯЦИОННУЮ МОДЕЛЬ ДАННЫХ!
Мой товарищ по диалогу в теме про нормальную форму Бойса-Кодда должен это оценить:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044597
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Я этого и не скрывал и это вполне очевидно. Система будет слишком простая, чтобы поддерживать произвольные запросы. Кому нужны средства разработки, пусть юзают другие системы. Вместо этого я хочу сделать конечный продукт. Раз подразумеваются произвольные запросы, значит, кто-то должен настраивать, адаптировать систему для конечных пользователем.
Это уже просто серьезные заблуждения. От недостатка знаний. А говорите, что Вам все понятно:) Конечно, в плену своих заблуждений Вам все понятно.
На самом деле, нет ничего проще конечного продукта, который никто не должен настраивать и адаптировать, чтобы пользователи могли бы делать произвольные запросы. Иначе, приложение вообще нельзя классифицировать как приложение баз данных.
Emery Ведь не тетеньки-бухгалтера предпенсионного возраста должны делать эти самые «произвольные запросы»?
Помимо неуважительного отношения к пользвателям Вы еще и сужаете круг пользователей до пользователей, которым не нужны никакие запросы, кроме запрограммированных программистами. Это просто не серьезно.
Emery ... и генератора отчетов уровня пользователя (который все равно придется настраивать мне).
Зачем? Это же уровень пользователя:)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044607
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Эта связь на уровне первичных и вторичных таблиц или справочников и документов в терминологии 1С. Связь эта вполне фиксированная и достаточно простая для конечных учетных задач, чтобы заниматься ее формализацией и вычленением... Так что я никому, ничего не должен :)
Таблицы тоже "фиксированные" и "достаточно простые". А последнее предложение следует понимать так: "Я не собираюсь отделять данные от кода":) Это еще один фундаментальный недостаток Вашей идеологии.
Emery Интересно, почему те, «кто знаком с проблемами моделирования данных» не предлагает ничего путного в качестве конечного решения? Почему все предлагаемые решения только «промежуточные» , либо недостаточно комфортные для работы? Заметьте, я ведь никого ни учу «уму-разуму» и не навязываю своих идей, а просто делюсь ними. И почему-то все, считают своим долгом доказать, что я не прав. Если бы существовали удобные для работы системы учета, готовые для работы по факту, а не «в принципе», я бы, поверьте, нашел бы для себя более интересное занятие, чем заниматься программированием учета.
Опять философия, не имеющая отношения ни к моделированию данных, ни к "универсальному клиенту".
Emery Моя БД это просто набор dbf-файлов, для которых даже контейнер dbc не нужен. Метаданные тоже будут находиться в dbf-файлах. Никаких «объектов модели ядра 1с» не будет, как не нужных. Структура связей будет в коде, но этот код будет хорошо структурирован.
"Данные у меня в коде, но зато код хорошо структурирован":)
Замечательно!
Emery Таких в моей системе нет, об этом я уже говорил, хотя первичные таблицы могут иметь своими подчиненными вторичные таблицы. Мне эта структура понятна и путаницы не вызывает. Согласен, что другим она может быть непонятна, ибо пока не опубликован весь код с пояснениями, трудно ожидать адекватного восприятия.
Вряд ли Вам встретиться восприятие, адекватнее моего:)
Такие в вашей системе есть. И код для понимания этого факта не нужен:)
Emery {О научном подходе:)}
С этого я и начинал программирование своих учетных программ. Только реальной пользы от этого мало. Переключился полностью на свою интуицию и начал постепенно решать стоящие передо мной проблемы. Все получилось, как нельзя лучше. Сейчас пришло время заниматься совершенствованием и оптимизацией своих наработок.
"Полностью на основе своей интуиции". Понятно. Интуицию, действительно, довольно сложно формально объяснять:)
Emery Вам еще не надоело ходить по кругу? Я разрабатываю, внедряю и сопровождаю свои программы, пользователи работают с ней и со своими проблемами идут ко мне. Я заинтересован, чтобы у них таких проблем было поменьше, а свободного времени у меня побольше. Избыток своего свободного времени я хочу потратить на расширение возможностей своих программ. И отнюдь не собираюсь «играть по чужим правилам». Нравиться это кому-то или нет. У меня есть собственные представления, «что такое хорошо и что такое плохо» в программировании учетных задач. Каждый может идти свои путем, доказывая его «правильность» и «истинность». Вот и вся идеология :)
Вместо ответа по существу:) Мне никогда не надоест ходить по кругу. Вот мне удалось вытянуть из Вас еще одну порцию важной информации:
1) Программисты при использовании Вашей идеологии должны постоянно что-то программировать.
2) Пользователи не управляют интерфейсом.
3) Интерфейс основан на реляционной модели данных.
4) Пользователи не могут в управляемом интерфейсе получать нужную им информацию произвольным образом.
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044882
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаEmery К истине приближаетесь Вы, для меня ничего ни нового, ни непонятного нет.
После того, как Вам пришлось согласиться с тем, что Вы допускали ошибочные высказывания, и Ваша идеология соответсвует давно устаревшим технологиям, я, конечно, соглашусь, что к истине приближаюсь я:)
Вы, с упорством, достойным лучшего применения, навязываете свою точку зрения, как «истину в последней инстанции». Я понимаю, опыта у Вас достаточно, хочется видимо «поучить других» :) . И выдаете желаемое за действительное. Лучше уж предлагайте свои разработки, если что там будет интересного, это будет видно сразу. Вот Вы много говорили про TR. А в итоге, это всего лишь эквивалентное индексам представление данных. Я бы за него патент не дал бы. Впрочем, расходы за поддержку патента нести только Дэйту.

БредятинаEmery «Уровень реализации» - это представление (отображение) данных на уровне пользовательского интерфейса. «Прикладной уровень» это реализация методологии учета на уровне кода. Так что для меня это немного разные понятия.
Отлично. Код совсем не интересен. Так приложение не должно программироваться (это устаревший подход), оно должно проектироваться.
Итак, для ОТОБРАЖЕНИЯ ДАННЫХ НА УРОВНЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ВЫ ИСПОЛЬЗУЕТЕ РЕЛЯЦИОННУЮ МОДЕЛЬ ДАННЫХ!
Мой товарищ по диалогу в теме про нормальную форму Бойса-Кодда должен это оценить:)
Должно / не должно, устаревший / не устаревший – это уже вопросы идеологии. А идеология в современном программировании БД формируется «законодателями мод», т.е. фирмами – разработчиками БД, имеющих явный коммерческий интерес в этом вопросе. Вы желаете блюсти их интересы? Это Ваше право. А я «в чужие игры не играю» :) .
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044903
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаЭто уже просто серьезные заблуждения. От недостатка знаний. А говорите, что Вам все понятно:) Конечно, в плену своих заблуждений Вам все понятно.
Не увлекайтесь! Может оказаться, что Ваши слова применимы к Вам большей степени :) .

БредятинаНа самом деле, нет ничего проще конечного продукта, который никто не должен настраивать и адаптировать, чтобы пользователи могли бы делать произвольные запросы. Иначе, приложение вообще нельзя классифицировать как приложение баз данных.
Вы знаете примеры таких программ? Поделитесь! Как минимум нужен перенос данных из предыдущих программ, плохих или хороших неважно, а важно то, что в старых программах эти данные есть, а в новых нет и этих данных очень много, чтобы вводить их повторно вручную. Произвольные запросы нужны тому, кто сопровождает данную учетную систему, а не конечному пользователю. Теоретически это может быть одно и тоже лицо, например, я вдруг захочу вести учет собственной фирмы, а нанять нового человека, при ограниченности средств нет возможности. Могу Вас уверить, что запросы смогу делать произвольные, либо внешним образом к БД, либо внося необходимые изменения в код или структуру данных. Скажу по секрету, иногда это приходится делать в моих конфигурациях «учет ресурсов и начислений». Но обычно времени на это тратиться немного, т.е. все делается в режиме реального времени. Так что проблем особых не возникает. Вы тоже, имея, когда-нибудь, доступ к документации и исходным текстам программы способны делать все то же самое. О чем я уже говорил.

БредятинаEmery Ведь не тетеньки-бухгалтера предпенсионного возраста должны делать эти самые «произвольные запросы»?
Помимо неуважительного отношения к пользвателям Вы еще и сужаете круг пользователей до пользователей, которым не нужны никакие запросы, кроме запрограммированных программистами. Это просто не серьезно.
Может быть это и обидно, но это факт. Я часто говорю своим бухгалтерам. Ну почему я должен вникать в вашу бухгалтерию, а вы не считаете должным для себя вникнуть хотя бы в азы компьютерной грамотности? Есть молодые девчата, которые и компьютер достаточно хорошо знают и в бухгалтерию быстро вникают. Ими я просто не нарадуюсь :) .

Emery ... и генератора отчетов уровня пользователя (который все равно придется настраивать мне).
Зачем? Это же уровень пользователя:)[/quot]
Опыт показывает, что эффективным процесс работы происходит следующим образом. Я показываю новому человеку как работать с программой, ну там вводить документы, делать различные расчеты и отчеты. И через пять минут начинается уже реальная работа с программой. Постепенно, в зависимости от продвинутости и внутренней мотивации пользователь вникает в программу все более и более и наступает момент, когда он уже может самостоятельно сконструировать и распечатать отчет и не только. Обычно это вызывает у него много радости. Но сразу грузить этим, очень не рационально. Более того, одна бухгалтерша материального отдела сказал мне, что «наконец-то я поняла смысл материального учета, после того как начала работать по твоей программе». Хотя никакого бухгалтерского образования у меня нет.

И тут приходите Вы и заявляете, что все я делаю неправильно, имею множество заблуждений и мало знаний :) . Вы думает, я восприму это серьезно?
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37044999
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Вы, с упорством, достойным лучшего применения, навязываете свою точку зрения, как «истину в последней инстанции».
Какую точку зрения, если не секрет? Я только вникаю в Вашу идеологию, задаю конкретные вопросы для этого, а Вы, как и сейчас, только обижаетесь. Причем на себя:)
Emery Я понимаю, опыта у Вас достаточно, хочется видимо «поучить других» :).
Совсем не хочется. Это Вы должны хотеть поучиться. Я, например, ежедневно учусь, поэтому опыта у меня, действительно, достаточно. Но Вы опять отвлекаетесь от обсуждения Вами же предложенных вопросов.
Emery И выдаете желаемое за действительное.
Я думаю, именно поэтому Вы и не хотите обсуждать свои проблемы по существу, так как начали понимать, что действительность опровергает то, что Вы желали:)
Emery Вот Вы много говорили про TR.
Не правда:) Это Вы много говорите о TR, о которой Вы узнали благодаря мне. Меня TR вообще не интересует.
Emery А в итоге, это всего лишь эквивалентное индексам представление данных.
Это не так.
Emery Впрочем, расходы за поддержку патента нести только Дэйту.
Дейт никакого отношения не имеет к этому патенту.
Emery Должно / не должно, устаревший / не устаревший – это уже вопросы идеологии. А идеология в современном программировании БД формируется «законодателями мод», т.е. фирмами – разработчиками БД, имеющих явный коммерческий интерес в этом вопросе. Вы желаете блюсти их интересы? Это Ваше право. А я «в чужие игры не играю» :) .
Опять не правда. Именно играете, используя реляционную модель данных даже для представления данных в универсальном клиенте:) Поэтому и не хотите ни один, даже самый мелкий вопрос, обсуждать по существу. Какая идеология? Какая мода? Я Вам объясняю, что приложение вообще не нужно программировать, а Вы мне говорите о какой-то "идеологии в современном программировании":)
...
Рейтинг: 0 / 0
Универсальное представление данных
    #37045018
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery Не увлекайтесь! Может оказаться, что Ваши слова применимы к Вам большей степени :)
Это Вы про "модель хранения данных"? Ну, наконец-то, вернулись к теме.
Emery Вы знаете примеры таких программ? Поделитесь! Как минимум нужен перенос данных из предыдущих программ, плохих или хороших неважно, а важно то, что в старых программах эти данные есть, а в новых нет и этих данных очень много, чтобы вводить их повторно вручную. Произвольные запросы нужны тому, кто сопровождает данную учетную систему, а не конечному пользователю.
Какие данные??? Почему Вы уходите от сути - объективной необходимости для пользователей произвольного доступа к данным. Пользователи должны иметь возможность формировать удобные им подсхемы схемы данных, и делать к ним произвольные запросы. Иначе, приложение вообще нельзя классифицировать как приложение баз данных. Вы просто НЕ МОЖЕТЕ ЭТОГО ДОБИТЬСЯ, так как используете навязанные Вам производителями, диктующими моду, устаревшие технологии:)
Emery Могу Вас уверить, что [я] запросы смогу делать произвольные, либо внешним образом к БД, либо внося необходимые изменения в код или структуру данных. Скажу по секрету, иногда это приходится делать в моих конфигурациях «учет ресурсов и начислений». Но обычно времени на это тратиться немного, т.е. все делается в режиме реального времени. Так что проблем особых не возникает. Вы тоже, имея, когда-нибудь, доступ к документации и исходным текстам программы способны делать все то же самое. О чем я уже говорил.
Кошмар:) Это все, что я могу сказать о технологии, которая вынуждает постоянно программировать запросы.
Emery Я часто говорю своим бухгалтерам. Ну почему я должен вникать в вашу бухгалтерию, а вы не считаете должным для себя вникнуть хотя бы в азы компьютерной грамотности? Есть молодые девчата, которые и компьютер достаточно хорошо знают и в бухгалтерию быстро вникают. Ими я просто не нарадуюсь :)
За этими бытовыми вопросами опять скрывается печальный факт - невозможность произвольного доступа к данным для пользователей. Если бы я досконально не изучил "бухгалтерский учет", я бы не смог спроектировать его гармоничную реализацию в корпоративной системе. А Вы говорите, "почему я должен вникать". А вот пользователи, действительно, не должны вникать. Интерфейс сам должен проникать в их сознание:)
Emery Опыт показывает, что эффективным процесс работы происходит следующим образом. Я показываю новому человеку как работать с программой, ну там вводить документы, делать различные расчеты и отчеты. И через пять минут начинается уже реальная работа с программой. Постепенно, в зависимости от продвинутости и внутренней мотивации пользователь вникает в программу все более и более и наступает момент, когда он уже может самостоятельно сконструировать и распечатать отчет и не только. Обычно это вызывает у него много радости. ... одна бухгалтерша материального отдела сказал мне, что «наконец-то я поняла смысл материального учета, после того как начала работать по твоей программе». Хотя никакого бухгалтерского образования у меня нет. И тут приходите Вы и заявляете, что все я делаю неправильно, имею множество заблуждений и мало знаний :) . Вы думает, я восприму это серьезно?
Конечно, Вы воспримите все мои комментарии. Потому что они все абсолютно по существу. И это Вас несколько раздражает. Это традиционная российская особенность. Как по существу, так сразу же раздражает.
...
Рейтинг: 0 / 0
138 сообщений из 138, показаны все 6 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Универсальное представление данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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