|
|
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene 2 locky я написал U-geneв накладной есть множество строк , которые уникально идентифицируются (внутри накладной) своим артикулом. объясняю. Есть накладная. У нее ест заголовок (дата, число) и строки, где перечисляется какого товара (это артикул) сколько отпущено (это кол-во). Строки уникальны по полю артикул - в одной накладной не может ыбть несколко строк с одним артикулом. Такое вот описалово Вы почему то прочитали lockyмножество накладных, каждая из которых уникально идентифицируются Вы разницу чувствуете? Я этому удивился. Мой вопрос - как такую накладную, как я описал, в ЕAV представить? Вы можете нормально ответить? Нифига не чувствую разницу. Есть множество строк накладных, которые уникально идентифицируются внутри подмножеств, полученных путём "секционирования" по документам. Есть множество накладных, которые уникально идентифицируются внутри подможеств, полученных (скажем) путём секционирования по периодам/складам/поставщикам/чему так еще. собственно, по вопросу: добавить аттрибут "артикул" и наложить на него ограничение уникальности. К сожалению, мне неизвестен иной способ наложения уникальности в такой структуре кроме как ограничение, обеспечиваемое слоем доступа к данным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:33 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene Я в упор не вижу как в EAV-схеме (OID, имя атрибута, значение атрибута) этот случай отобразить. В лоб. Для накладной 21 первая строка имя атрибута - "артикул" - значение 1 имя атрибута - "идентификатор шапки" - значение 21 следующая строка накладной имя атрибута - "артикул" - значение 2 имя атрибута - "идентификатор шапки" - значение 21 EAV он как бы не отказывается совсем от реляционной модели. Он ее хитро реализует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:36 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
SERG1257U-gene Я в упор не вижу как в EAV-схеме (OID, имя атрибута, значение атрибута) этот случай отобразить. В лоб. Для накладной 21 первая строка имя атрибута - "артикул" - значение 1 имя атрибута - "идентификатор шапки" - значение 21 следующая строка накладной имя атрибута - "артикул" - значение 2 имя атрибута - "идентификатор шапки" - значение 21 EAV он как бы не отказывается совсем от реляционной модели. Он ее хитро реализует. Не настолько и хитро, если посмотреть. Очень-очень-очень похоже на, скажем, строение страниц данных в том же скуле (да и во многих других серверах) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:38 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
Подождите-подождите. То есть я прямо в имя атрибута записываю номер строки? Но у меня номеров строки нет. Откуда я их возьму? У меня стоки уникальны по артикулу. А номеров у строк нету. Какие то левые данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:43 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
2 SERG1257 кстати, не вижу в вашей схеме количеств ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:44 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-geneПодождите-подождите. То есть я прямо в имя атрибута записываю номер строки? Но у меня номеров строки нет. Откуда я их возьму? У меня стоки уникальны по артикулу. А номеров у строк нету. Какие то левые данные. эээээ... а вы точно понимаете что есть EAV? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:46 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene2 SERG1257 кстати, не вижу в вашей схеме количеств я в показанном абстрактном примере еще много чего не вижу из того, что встречается в реальных системах но на то он и пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:46 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
2 locky куда добавить атрибут артикул? бебят, я написал простой вопрос. столько эмоций! хотя можно 3 мин потратить и аккуратно изобразить. Есть такая накладная Код: plaintext 1. 2. 3. 4. 5. 6. Как она будет представлена в EAV? Мне правда интересно,ну вдруг я что не догоняю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:49 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene 2 locky куда добавить атрибут артикул? бебят, я написал простой вопрос. столько эмоций! хотя можно 3 мин потратить и аккуратно изобразить. Есть такая накладная Код: plaintext 1. 2. 3. 4. 5. 6. Как она будет представлена в EAV? Мне правда интересно,ну вдруг я что не догоняю? Вы всё-таки прочитайте про EAV для начала. А потом уже и поговорим более детально на предмет всяких факапов, которые встречаются в реальной жизни/практике и кто как их обходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 20:51 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
Уважаемый, я прочитал про EAV. Там, где я прочитал, обычно в качестве примера сохраняемого класса берут структуру, напоминающую кортеж, а с этим как раз все понятно. Везде,где я прочитал, предполагается, что для хранения данных используется EAV-каноническая структура таблицы (OID, имя атрибута, значение атрибута). Как в ней хранить кортежоподобные структуры, мне совершенно понятно.Понятно так же что EAV может быть очень неплох в некоторых случаях, когда речь идет о добавлении новых полей именно к такой кортежеподобной структуре. Но я задал вопрос структуры, содержащей множество. Привел пример такой структуры и попросил продемонстрировать, как такую структуру можно сохранить в EAV-системе. Я, честно, надеюсь, что мне здесь смогут помочь. Это ведь простой вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:02 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-geneУважаемый, я прочитал про EAV. Там, где я прочитал, обычно в качестве примера сохраняемого класса берут структуру, напоминающую кортеж, а с этим как раз все понятно. Везде,где я прочитал, предполагается, что для хранения данных используется EAV-каноническая структура таблицы (OID, имя атрибута, значение атрибута). Как в ней хранить кортежоподобные структуры, мне совершенно понятно.Понятно так же что EAV может быть очень неплох в некоторых случаях, когда речь идет о добавлении новых полей именно к такой кортежеподобной структуре. Но я задал вопрос структуры, содержащей множество. Привел пример такой структуры и попросил продемонстрировать, как такую структуру можно сохранить в EAV-системе. Я, честно, надеюсь, что мне здесь смогут помочь. Это ведь простой вопрос? Не сомневаюсь, что вы прочитали. Поняли или не поняли - это, так сказать, другой вопрос. Давайте начнем с простого, ок? Вы можете представить себе список накладных в виде EAV? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:04 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene, ну не прочитал ты нифига а то не задавал бы детские вопросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:06 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
2 U-gene Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:16 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
2 locky Хорошо, значит не понял. Господа, но я просто прошу изобразить как в EAV будет храниться такая накладная. У меня мозги так устроены -я лучше понимаю, когда дают конкретные примеры. Если Вы действительно хотите помочь мне разобраться, ну покажите же мне пожалуйста , как в EAV правильно зранить данные о такой накладной. буду ваш пример анализировать и задавать вопросы, если они появятся. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:18 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene2 locky Хорошо, значит не понял. Господа, но я просто прошу изобразить как в EAV будет храниться такая накладная. У меня мозги так устроены -я лучше понимаю, когда дают конкретные примеры. Если Вы действительно хотите помочь мне разобраться, ну покажите же мне пожалуйста , как в EAV правильно зранить данные о такой накладной. буду ваш пример анализировать и задавать вопросы, если они появятся. Код: plaintext 1. 2. 3. 4. 5. 6. 7. прежде чем переходить к сложному - надо бы освоить простое. А затем уже, постепенно.... Впрочем, вам уже дали пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:19 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
2SERG1257 спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:19 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
1 ехидный коммент :) обидно вообще то. люди старались, выдумывали bigint'ы и vchar'ы а тут бац - все в строку. 2 серьезный коммент вот этот кусок Код: plaintext 1. 2. 3. 4. 5. 6. 7. где здесь сохранено, что артикулу a1 соответствует кол-во 5 (а не 12)? например, поменяю я меняю последовательность строк Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. результат тот же самый. Где же сохраняется информация об отношении артикулов и количеств? Это момент я не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:46 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene1 ехидный коммент :) обидно вообще то. люди старались, выдумывали bigint'ы и vchar'ы а тут бац - все в строку. Хм... а вы точно таки читали всякую там теорию (да и всё что написано на скуль. ру)? Потому как это всё-таки пример, а не реальная структура U-gene2 серьезный коммент вот этот кусок Код: plaintext 1. 2. 3. 4. 5. 6. 7. где здесь сохранено, что артикулу a1 соответствует кол-во 5 (а не 12)? например, поменяю я меняю последовательность строк Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. результат тот же самый. Где же сохраняется информация об отношении артикулов и количеств? Это момент я не понял. пропущен аттрибут "идентификатор строки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 21:53 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
какой идентификатор строки? у меня нет такого атрибута. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 22:40 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene, на, примерная схема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 22:46 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-geneкакой идентификатор строки? у меня нет такого атрибута. Ну, у вас там и идентификатора документа, вообще-то, не наблюдается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 22:47 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
2locky Строка уникальна артикулом. накладная уникальна номером. Отдельных специальных идентификаторов нет. C заголовком накладной понятно - так как раз кортежная структура. Вопросов нет - значнение номер накладной одноханчно соотносится со всеми остальными скалярами, составляющий этот кортеж. А вот со строками непонятно. Во всяком случае ответ Ну, у вас там и идентификатора документа, вообще-то, не наблюдается... на него не отвечает автор2ViPRos опана Долго курил схему. мне кажется - две таблицы (заголовок и строки) немного проще. Хорошо, здесь мой ехидный комментарий о многообразии типов слегка снимается. Какое то разнообразие типов наблидается (хотя теперь возникает вопрос, что же делать, ежели в программе у какого-то существующего свойства вдруг потребовалось поменяем тип "целое" на тип "число") Но серьезный коммент остается полностью в силе. Как в этих таблицах "ОбъектСвойство..." сохраняется информация об отношениях? Например, в моем примере артикулу а1 соответствует кол-во 5, а не 12. Я, правда, вижу еще какое то поле "Системный", но что за данные в нем хранятся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 23:14 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
U-gene, блин сооьбщнгие пропало еще раз Любой объект имеет собственный идентификатор - ОбъектИД Любое свойство (значение - множество) имеет собственный идентификатор - СвойствоИД Пишется так ОбъектИД, СвойствоИД, ЗначениеСвойства Свойство може быть и Объект (ууууооочень сложный) тогда ОбъектИД, ОбъектИД, СсылкаНаОбъект (ну для понимания переименовал, а так все пишется как выше указна) На основе этого - можно в лоб использовать хранилище как ЕАВ создать вьшки создать персистентные таблицы зависит от требований к производительности в ВИПРОС все 3 реализованы и выбирается галочкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 23:27 |
|
||
|
EAV - это выворачивание реляционной модели наизнанку.
|
|||
|---|---|---|---|
|
#18+
между методами и структурами есть контракт 1. если метод пользуется определенным срезоммоели и явно указано, что методу свойство такое то нужна как определенный тип, то проваййдер генерирует(преобразовывает) нужный тип при возможноси 2. при изменении модели верифицируются все контракты, если преобразования невозможны то в зависимости от привилегий метода либо изменения модели не допуска.тся либо метод метиться как не исполнимый вот и все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2011, 23:31 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37517176&tid=1541471]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 538ms |

| 0 / 0 |
