|
|
|
Формула
|
|||
|---|---|---|---|
|
#18+
Добрый день. У меня в каждой записи должна быть формула,т.е. Наименование Формула 1) Показатель витаминов x/y*100 который x содержит витамины а,б,с. и у не является чем то. 2) Показатель чего то abs(sin(x)/y) который x > чего то, у на 1000 населения и т.д. Как организовать структуру таблицы не подскажите? Может пример неудачный, постарался обяснить как мог. Спасибо. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 11:42 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
добавлять либо вычисляемые поля, либо вешать триггеры если оно, только так понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 11:53 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
Т.е. это как? У меня будет несколько полей? Не совсем понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 11:59 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
zhezТ.е. это как? У меня будет несколько полей? Не совсем понял. а как иначе? или я чтото не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 12:14 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
Значит 1 поле -х,2 - знак /, 3 поле -у, 4-поле -> и т.д. Вот это я не могу понять. Можете обяснить примером? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 12:30 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
zhezЗначит 1 поле -х,2 - знак /, 3 поле -у, 4-поле -> и т.д. Вот это я не могу понять. Можете обяснить примером? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 13:08 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
zhezКак организовать структуру таблицы не подскажите? хранить формулы как текст и вычислять их динамически ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 16:49 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
zhez, Вы храните результат вычисления по формуле или нет? Если да, то формулы столбца 1 и столбца 2 для каждой записи одни и те же? Если Вам нужно хранить именно формулу, то делаете строковые поля и в тексте в нужной нотации их храните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 09:38 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
Edkonst2008Если Вам нужно хранить именно формулу, то делаете строковые поля и в тексте в нужной нотации их храните. Как вариант, можно хранить p-code. Но задача больше смахивает на электронные таблицы, чем на базы данных. Всё таки базы данных хранят данные, а не процедуры. Впрочем, как постановил Фон Нейман, данными может быть и исполняемый код. По теме, ИМХО, нужно сделать view, в котором вычислять значения функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 14:04 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
У меня будет всегда 2 столбца(числитель, знаменатель) с значениями. Но для каждой записи эти значения вычисляются по разной формуле и записываю результат вычисления в другой столбец. Ребята может я действительно не догоняю, можно пример привести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:54 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
Осознай, что в БД вычисление происходит либо перед сохранением записи, либо после её извлечения. Определись, кто, какая процедура создаёт запись. Видимо она, или триггер должн вычислить значение по твоей пресловутой формуле и записать его в поле записи. так перед сохранением Код: plaintext 1. 2. 3. или так, после извлечения Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 12:23 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
У меня вопрос как хранить саму формулу в каком виде? Пользователь сам должен внести формулу и условия и я должен как то положить это в таблицу. Задача такая: 1-запись надо посчитать сколько процентов девочек в школе. Формула: девочки/все ученики*100, условие только пол=жен 2-запись надо посчитать сколько процентов девочек возраст>15 в школе. Формула: девочки/все ученики*100, условие пол=жен и возраст>15 Пока сам не представляю как это будет, что и как выберет пользователь для ввода формул и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 12:57 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
zhez, а кто вычислять будет эти формулы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 18:11 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
Пользователь нажимает кнопку расчет и эти формулы будут использоватся в селектах и на экране показываем результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 21:44 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
zhez, ну впринципе есть языки, которые умеют на лету интерпретировать и вычислять выражения. О какой конкретно СУБД и runtime идёт речь? Код: plaintext 1. Где expr например, это строка 'c + d' Как вариант - выгружаем выборку в электронную таблицу, и приложение само расчитает формулы и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 14:05 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
СУБД SQL Server 2005, возможно потом перенесут на Оракл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 15:01 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
zhez, как вариант сделать в БД функции для расчета и в интерфейс пользователю, выводить их "тело", то есть алгоритм расчета.. он их там пусть правит, по сохранению выполнять ALTER FUNCTION.... в базе хранить имя функции и перечень параметров... конечно если это не критично в плане безопасности и не очень много вариантов расчета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 16:31 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
Кифирчик, потребуется пользователь с хорошим знанием T-SQL тогда... где ж его такого взять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 16:34 |
|
||
|
Формула
|
|||
|---|---|---|---|
|
#18+
Нельзя ли взять и интегрировать простенький парсер типа такого используя интеграцию .NET . Еще можно воспользоваться в качестве такого языка JScript.NET или IronPython. Еще вариант, пользователь редактирует не текст функции а дерево функции (такой графический редактор как на картинке тут ), которое можно хранить в XML или просто набором таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 17:39 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36700393&tid=1542645]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
188ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 513ms |

| 0 / 0 |
