|
|
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Есть таблица (первая сверху на картинке). В ней хранятся id товара, его название, несколько свойств товара. Свойства хранятся в явном виде, т. е. в ячейке храниться само слово (или выражение) Что хотелось бы сделать: Иметь таблицу, в которой бы содержались только уникальные свойства (т.е. id и само название) (вторая таблица на картинке) А таблицу (первая сверху на картинке) превести к виду как показано на рисунке (самая нижняя на картинке). Т.е. в ней хранились не сами свойства, а ссылки на свойства, которые содержаться в таблице уникальных свойств. Как это можно реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 15:59 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
xenOnnКак это можно реализовать? Вручную или автоматически хочется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 16:04 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
хочется автоматом, т.к. товаров будет много или вы не это имеете в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 16:05 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
xenOnn Автомат здесь интересен для произвольного числа полей со свойствами. А сколько товара - в общем-то без разницы. Логика, если попроще и потупее, такая: 1. Создаем справочник свойств с автоинкрементом (таблица XXX). 2. Для каждого поля property_N свойства выполняем запрос вида insert into XXX (name) select distinct v.property_N from table1 N where v.property_N is not null and not exists(select 1 from XXX where xxx.name=v.property_N). Можно и через union все пропихнуть в принципе. 3. Сливаем информацию о текущих значениях свойств (например, во временную таблицу). 4. Меняем тип полей свойств на целочисленный, не забывая все поля сначала обNULLить update-ом. 5. Восстанавливаем значения ссылок аналогичным update-ом, беря id по значению свойства из сохраненной на шаге 3 информации, для каждого поля свойств. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 16:24 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
xenOnn Недоперепонял ... Про классификатор допустим сами легко могли бы догадаться (таблица посредине), но вот зачем мешать плоское с зеленым Перезагрузитесь (жЫжненный пример и человеческим языком зачем это надо) ______________________________________________________ Задолбали вихри яростных атак ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 16:31 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
ну я слова просто для примера дал:)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 17:08 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецов Сорри, наверное некорректно задал вопрос. Суть в в том чтобы конвертировать имеющуюся базу. Базы пока нет. Я о том как её создать. Т.е. при заполнении базы, в поля Свойство_1, Свойство_2 и т. д. не помещались сами свойства в явном виде, а чтобы было как в нижней таблице. Чтобы в полях Свойство_1, Свойство_2 и т. д. хранились ссылки на свойства которые бы содержались в классификаторе (средняя таблица). Я незнаю как в ячейках хранить сами эти ссылки. Извиняюсь если это что-то элементарное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 17:19 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецов Сорри, наверное некорректно задал вопрос. Суть не в том, чтобы конвертировать имеющуюся базу. Базы пока нет. Я о том как её создать. Т.е. при заполнении базы, в поля Свойство_1, Свойство_2 и т. д. не помещались сами свойства в явном виде, а чтобы было как в нижней таблице. Чтобы в полях Свойство_1, Свойство_2 и т. д. хранились ссылки на свойства которые бы содержались в классификаторе (средняя таблица). Я незнаю как в ячейках хранить сами эти ссылки. Извиняюсь если это что-то элементарное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 17:20 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
xenOnn Сергей Васкецов Сорри, наверное некорректно задал вопрос. Суть не в том, чтобы конвертировать имеющуюся базу. Базы пока нет. Я о том как её создать. Т.е. при заполнении базы, в поля Свойство_1, Свойство_2 и т. д. не помещались сами свойства в явном виде, а чтобы было как в нижней таблице. Чтобы в полях Свойство_1, Свойство_2 и т. д. хранились ссылки на свойства которые бы содержались в классификаторе (средняя таблица). Я незнаю как в ячейках хранить сами эти ссылки. Извиняюсь если это что-то элементарное. Реляционная теория нас учит (классичекое отношение "многие-ко-многим"), что будут три таблицы: 1. Товары (IDтовара, наименование товара); 2. Свойства(IDсвойства, название свойства); 3. Свойства товаров(IDтовара, IDсвойства, Значение свойства). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 07:57 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
EAV и поиском по форуму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 11:09 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Станислав С...кийРеляционная теория нас учит (классичекое отношение "многие-ко-многим"), что будут три таблицы: 1. Товары (IDтовара, наименование товара); 2. Свойства(IDсвойства, название свойства); 3. Свойства товаров(IDтовара, IDсвойства, Значение свойства). Поддерживаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 14:24 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Станислав С...кий Сенкс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 19:31 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
xenOnn Станислав С...кий Сенкс Здесь есть только один "маленький камушек": Ваша третья таблица (см. Ваш первый пост) будет как бы "лежать на боку". Чтобы развернуть ее обратно - потребуется немало усилий на клиентской стороне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 07:37 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Станислав С...кийпотребуется немало усилий на клиентской стороне Собственно, переписать пользовательский интерфейс в части работы с этой таблицей и потребуется. Если нет фантастических наворотов, это ерунда, куда большая проблема может быть в отчетах, которые это используют. А со слов автора не ясно, существуют ли отчеты, о которых он не знает (например, поставщик ПО для внешних клиентов не знает об отчетах, которые сами клиенты для себя создают). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 10:03 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Станислав С...кий xenOnn Станислав С...кий Сенкс Здесь есть только один "маленький камушек": Ваша третья таблица (см. Ваш первый пост) будет как бы "лежать на боку". Чтобы развернуть ее обратно - потребуется немало усилий на клиентской стороне Только сформировать достаточно шаблонный запрос по транспонированию строк в столбцы . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 14:27 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
А почему бы, если кол-во свойств фиксировано, т.е. 5, не использовать вместо самого свойства, foreign key на ID_Свойства таблицы - справочника свойств? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 15:22 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Станислав С...кийРеляционная теория нас учит (классичекое отношение "многие-ко-многим"), что будут три таблицы: 1. Товары (IDтовара, наименование товара); 2. Свойства(IDсвойства, название свойства); 3. Свойства товаров(IDтовара, IDсвойства, Значение свойства). а как сделать команду Select по товару с заданым ИДтовар? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2008, 20:56 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2008, 20:59 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
имею ввиде что вышла таблица с столбцами ИДтовара - наименование - название свойства1 - ... - название свойстваN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2008, 20:59 |
|
||
|
как хранить данные в неявном виде?
|
|||
|---|---|---|---|
|
#18+
Владимировичимею ввиде что вышла таблица с столбцами ИДтовара - наименование - название свойства1 - ... - название свойстваN Например, так (таблица "повернута" на 90 градусов), а затем преобразовать к "нормальному" виду на клиенте (Или почитать инфо по ссылке, данной в постах выше...): Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2008, 07:04 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35095174&tid=1544055]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 458ms |

| 0 / 0 |
