F.34. seg
ÐÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ ÑеализÑÐµÑ Ñип даннÑÑ
seg Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑÑезков или инÑеÑвалов ÑиÑел Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой. Тип seg Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÑажаÑÑ Ð¾ÑÑÑÑÑÑвие ÑвеÑенноÑÑи в гÑаниÑаÑ
инÑеÑвала, ÑÑо позволÑÐµÑ Ð¿ÑименÑÑÑ ÐµÐ³Ð¾ Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð»Ð°Ð±Ð¾ÑаÑоÑнÑÑ
измеÑений.
F.34.1. ÐбоÑнование
ÐеомеÑÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÑений обÑÑно более Ñложна, Ñем ÑоÑка в ÑиÑловом конÑинÑÑме. ÐзмеÑение обÑÑно пÑедÑÑавлÑÐµÑ Ñобой оÑÑезок ÑÑого конÑинÑÑма Ñ Ð½ÐµÑÑÑкими гÑаниÑами. ÐзмеÑÑемÑе показаÑели вÑÑажаÑÑÑÑ Ð¸Ð½ÑеÑвалами вÑледÑÑвие неопÑеделÑнноÑÑи и ÑлÑÑайноÑÑи, а Ñакже Ñого, ÑÑо измеÑÑемое знаÑение Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑажаÑÑ Ð½ÐµÐºÐ¾ÑоÑое ÑÑловие, напÑимеÑ, диапазон ÑемпеÑаÑÑÑ ÑÑабилÑноÑÑи пÑоÑеина.
Ð ÑководÑÑвÑÑÑÑ ÑолÑко здÑавÑм ÑмÑÑлом, кажеÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑдобнÑм Ñ ÑаниÑÑ Ñакие даннÑе в виде инÑеÑвалов, а не в виде двÑÑ Ð¾ÑделÑнÑÑ ÑиÑел. Ðа пÑакÑике ÑÑо оказÑваеÑÑÑ Ð´Ð°Ð¶Ðµ ÑÑÑекÑивнее в болÑÑинÑÑве пÑиложений.
Ðолее Ñого, вÑледÑÑвие неÑÑÑкоÑÑи гÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзование ÑÑадиÑионнÑÑ ÑиÑловÑÑ Ñипов даннÑÑ Ð¿ÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº опÑеделÑнной поÑеÑе инÑоÑмаÑии. РаÑÑмоÑÑим Ñакой пÑимеÑ: Ð²Ð°Ñ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½Ñ Ð²ÑдаÑÑ 6.50 и Ð²Ñ Ð²Ð²Ð¾Ð´Ð¸Ñе ÑÑо знаÑение в Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ЧÑо Ð²Ñ Ð¿Ð¾Ð»ÑÑиÑе, пÑоÑиÑав ÑÑо знаÑение из базÑ? СмоÑÑиÑе:
test=> select 6.50 :: float8 as "pH"; pH --- 6.5 (1 row)
РмиÑе измеÑений, 6.50 â не Ñо же Ñамое, ÑÑо 6.5. Ð ÑазниÑа Ð¼ÐµÐ¶Ð´Ñ ÑÑими измеÑениÑми иногда бÑÐ²Ð°ÐµÑ ÐºÑиÑиÑеÑкой. ÐкÑпеÑименÑаÑоÑÑ Ð¾Ð±ÑÑно запиÑÑваÑÑ (и пÑбликÑÑÑ) ÑиÑÑÑ, коÑоÑÑе заÑлÑживаÑÑ Ð´Ð¾Ð²ÐµÑиÑ. ÐапиÑÑ 6.50 на Ñамом деле пÑедÑÑавлÑÐµÑ Ð½ÐµÑоÑнÑй инÑеÑвал, ÑодеÑжаÑийÑÑ Ð²Ð½ÑÑÑи болÑÑего и еÑÑ Ð±Ð¾Ð»ÐµÐµ неÑоÑного инÑеÑвала, 6.5, и единÑÑвенное, ÑÑо Ñ Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð±Ñего, ÑÑо Ð¸Ñ ÑенÑÑалÑнÑе ÑоÑки. ÐоÑÑÐ¾Ð¼Ñ Ð¼Ñ Ð¾Ð¿ÑеделÑнно не Ñ Ð¾Ñим, ÑÑÐ¾Ð±Ñ Ñакие ÑазнÑе ÑлеменÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð²ÑглÑдели одинаково.
ÐÑвод? Удобно имеÑÑ ÑпеÑиалÑнÑй Ñип даннÑÑ , в коÑоÑом можно ÑÐ¾Ñ ÑаниÑÑ Ð³ÑаниÑÑ Ð¸Ð½ÑеÑвала Ñ Ð¿ÑоизволÑной пеÑеменной ÑоÑноÑÑÑÑ. Рданном ÑлÑÑае ÑоÑноÑÑÑ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð² Ñом ÑмÑÑле, ÑÑо Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлеменÑа даннÑÑ Ð¾Ð½Ð° Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´ÑалÑно.
ÐÑовеÑÑÑе ÑÑо:
test=> select '6.25 .. 6.50'::seg as "pH";
pH
------------
6.25 .. 6.50
(1 row)
F.34.2. СинÑакÑиÑ
ÐнеÑнее пÑедÑÑавление инÑеÑвала обÑазÑеÑÑÑ Ð¾Ð´Ð½Ð¸Ð¼ или двÑÐ¼Ñ ÑиÑлами Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой, ÑоединÑннÑми опеÑаÑоÑом диапазона (.. или ...). ÐÑоме Ñого, инÑеÑвал можно задаÑÑ ÑенÑÑалÑной ÑоÑкой плÑÑ/минÑÑ Ð¾Ñклонение. Также ÑÑÐ¾Ñ Ñип позволÑÐµÑ ÑоÑ
ÑаниÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе индикаÑоÑÑ Ð´Ð¾ÑÑовеÑноÑÑи (<, > или ~). (Ðднако индикаÑоÑÑ Ð´Ð¾ÑÑовеÑноÑÑи игноÑиÑÑÑÑÑÑ Ð²Ñеми вÑÑÑоеннÑми опеÑаÑоÑами.) ÐопÑÑÑимÑе пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð² ТаблиÑе F.26; некоÑоÑÑе пÑимеÑÑ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð² ТаблиÑе F.27.
РТаблиÑе F.26 ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ x, y и delta обознаÑаÑÑ ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой. ÐеÑед знаÑениÑми x и y, но не delta, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½ индикаÑÐ¾Ñ Ð´Ð¾ÑÑовеÑноÑÑи.
ТаблиÑа F.26. ÐнеÑнее пÑедÑÑавление seg
| Ðдно знаÑение (инÑеÑвал нÑлевой длинÑ) |
| ÐнÑеÑвал Ð¾Ñ x до y |
| ÐнÑеÑвал Ð¾Ñ x - delta до x + delta |
| ÐÑкÑÑÑÑй инÑеÑвал Ñ Ð½Ð¸Ð¶Ð½ÐµÐ¹ гÑаниÑей x |
.. | ÐÑкÑÑÑÑй инÑеÑвал Ñ Ð²ÐµÑÑ
ней гÑаниÑей x |
ТаблиÑа F.27. ÐÑимеÑÑ Ð´Ð¾Ð¿ÑÑÑимÑÑ
вводимÑÑ
знаÑений seg
5.0 | СоздаÑÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð½Ñлевой Ð´Ð»Ð¸Ð½Ñ (или ÑоÑкÑ, еÑли Ñ Ð¾ÑиÑе) |
~5.0 | СоздаÑÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð½Ñлевой Ð´Ð»Ð¸Ð½Ñ Ð¸ запиÑÑÐ²Ð°ÐµÑ ~ в даннÑе. Ðнак ~ игноÑиÑÑеÑÑÑ Ð¿Ñи опеÑаÑиÑÑ
Ñ seg, но ÑоÑ
ÑанÑеÑÑÑ ÐºÐ°Ðº комменÑаÑий. |
<5.0 | СоздаÑÑ ÑоÑÐºÑ Ñ ÐºÐ¾Ð¾ÑдинаÑой 5.0. Ðнак < игноÑиÑÑеÑÑÑ, но ÑоÑ
ÑанÑеÑÑÑ ÐºÐ°Ðº комменÑаÑий. |
>5.0 | СоздаÑÑ ÑоÑÐºÑ Ñ ÐºÐ¾Ð¾ÑдинаÑой 5.0. Ðнак > игноÑиÑÑеÑÑÑ, но ÑоÑ
ÑанÑеÑÑÑ ÐºÐ°Ðº комменÑаÑий. |
5(+-)0.3 | СоздаÑÑ Ð¸Ð½ÑеÑвал 4.7 .. 5.3. ÐамеÑÑÑе, ÑÑо запиÑÑ (+-) не ÑоÑ
ÑанÑеÑÑÑ. |
50 .. | ÐÑÑ, ÑÑо болÑÑе или Ñавно 50 |
.. 0 | ÐÑÑ, ÑÑо менÑÑе или Ñавно 0 |
1.5e-2 .. 2E-2 | СоздаÑÑ Ð¸Ð½ÑеÑвал 0.015 .. 0.02 |
1 ... 2 | То же, ÑÑо и 1...2, либо 1 .. 2, либо 1..2 (пÑÐ¾Ð±ÐµÐ»Ñ Ð²Ð¾ÐºÑÑг опеÑаÑоÑа диапазона игноÑиÑÑÑÑÑÑ) |
Так как опеÑаÑÐ¾Ñ ... ÑаÑÑо иÑполÑзÑеÑÑÑ Ð² иÑÑоÑникаÑ
даннÑÑ
, он пÑинимаеÑÑÑ Ð² каÑеÑÑве алÑÑеÑнаÑивного напиÑÐ°Ð½Ð¸Ñ Ð¾Ð¿ÐµÑаÑоÑа ... Ð ÑожалениÑ, ÑÑо поÑÐ¾Ð¶Ð´Ð°ÐµÑ Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°ÑноÑÑÑ Ð¿Ñи ÑазбоÑе: неÑÑно, ÐºÐ°ÐºÐ°Ñ Ð²ÐµÑÑ
нÑÑ Ð³ÑаниÑа имееÑÑÑ Ð² Ð²Ð¸Ð´Ñ Ð² запиÑи 0...23 â 23 или 0.23. ÐÐ»Ñ ÑазÑеÑÐµÐ½Ð¸Ñ ÑÑой неоднознаÑноÑÑи во вÑ
однÑÑ
ÑиÑлаÑ
seg пеÑед деÑÑÑиÑной ÑоÑкой вÑегда должна бÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñм одна ÑиÑÑа.
РкаÑеÑÑве меÑÑ Ð¿ÑедоÑÑоÑожноÑÑи, seg не пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¸Ð½ÑеÑÐ²Ð°Ð»Ñ Ñ Ð½Ð¸Ð¶Ð½ÐµÐ¹ гÑаниÑей, пÑевÑÑаÑÑей веÑÑ
нÑÑ, напÑимеÑ: 5 .. 2.
F.34.3. ТоÑноÑÑÑ
ÐнаÑÐµÐ½Ð¸Ñ seg Ñ
ÑанÑÑÑÑ Ð²Ð½ÑÑÑи как паÑÑ 32-биÑнÑÑ
ÑиÑел Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой. ÐÑо знаÑиÑ, ÑÑо ÑиÑла Ñ Ð±Ð¾Ð»ÐµÐµ Ñем 7 знаÑаÑими ÑиÑÑами бÑдÑÑ ÑÑекаÑÑÑÑ.
ЧиÑла, ÑодеÑжаÑие 7 и менÑÑе знаÑаÑÐ¸Ñ ÑиÑÑ, ÑÐ¾Ñ ÑанÑÑÑ Ð¸Ð·Ð½Ð°ÑалÑнÑÑ ÑоÑноÑÑÑ. То еÑÑÑ, еÑли запÑÐ¾Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ 0.00, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе бÑÑÑ ÑвеÑенÑ, ÑÑо конеÑнÑе нÑли не ÑвлÑÑÑÑÑ Ð°ÑÑеÑакÑами ÑоÑмаÑиÑованиÑ: они оÑÑажаÑÑ ÑоÑноÑÑÑ Ð¸ÑÑ Ð¾Ð´Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ . ÐолиÑеÑÑво ведÑÑÐ¸Ñ Ð½Ñлей не влиÑÐµÑ Ð½Ð° ÑоÑноÑÑÑ: знаÑение 0.0067 бÑÐ´ÐµÑ ÑÑиÑаÑÑÑÑ Ð¸Ð¼ÐµÑÑим ÑолÑко две знаÑаÑÐ¸Ñ ÑиÑÑÑ.
F.34.4. ÐÑполÑзование
ÐодÑÐ»Ñ seg вклÑÑÐ°ÐµÑ ÐºÐ»Ð°ÑÑ Ð¾Ð¿ÐµÑаÑоÑов индекÑа GiST Ð´Ð»Ñ Ð·Ð½Ð°Ñений seg. ÐпеÑаÑоÑÑ, поддеÑживаемÑе ÑÑим клаÑÑом опеÑаÑоÑов, пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² ТаблиÑе F.28.
ТаблиÑа F.28. ÐпеÑаÑоÑÑ seg Ð´Ð»Ñ GiST
| ÐпеÑаÑÐ¾Ñ | ÐпиÑание |
|---|---|
[a, b] << [c, d] | [a, b] полноÑÑÑÑ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð»ÐµÐ²ÐµÐµ [c, d]. То еÑÑÑ, [a, b] << [c, d] â true, еÑли b < c, и false в пÑоÑивном ÑлÑÑае. |
[a, b] >> [c, d] | [a, b] полноÑÑÑÑ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¿Ñавее [c, d]. То еÑÑÑ, [a, b] >> [c, d] â true, еÑли a > d, и false в пÑоÑивном ÑлÑÑае. |
[a, b] &< [c, d] | ÐеÑеÑÐµÐºÐ°ÐµÑ Ð¸Ð»Ð¸ левее â ÐÑÑ Ð»ÑÑÑе ÑÑо ÑиÑаеÑÑÑ ÐºÐ°Ðº «не пÑоÑÑиÑаеÑÑÑ Ð¿Ñавее». РезÑлÑÑаÑом бÑÐ´ÐµÑ true, когда b <= d. |
[a, b] &> [c, d] | ÐеÑеÑÐµÐºÐ°ÐµÑ Ð¸Ð»Ð¸ пÑавее â ÐÑÑ Ð»ÑÑÑе ÑÑо ÑиÑаеÑÑÑ ÐºÐ°Ðº «не пÑоÑÑиÑаеÑÑÑ Ð»ÐµÐ²ÐµÐµÂ». РезÑлÑÑаÑом бÑÐ´ÐµÑ true, когда a >= c. |
[a, b] = [c, d] | РавенÑÑво â ÑегменÑÑ [a, b] и [c, d] ÑавнÑ, Ñо еÑÑÑ, a = c и b = d. |
[a, b] && [c, d] | СегменÑÑ [a, b] и [c, d] пеÑеÑекаÑÑÑÑ. |
[a, b] @> [c, d] | Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ [a, b] ÑодеÑÐ¶Ð¸Ñ ÑÐµÐ³Ð¼ÐµÐ½Ñ [c, d], Ñо еÑÑÑ, a <= c и b >= d. |
[a, b] <@ [c, d] | Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ [a, b] ÑодеÑжиÑÑÑ Ð² [c, d], Ñо еÑÑÑ, a >= c и b <= d. |
(Ðо веÑÑии PostgreSQL 8.2 опеÑаÑоÑÑ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ @> и <@ обознаÑалиÑÑ ÑооÑвеÑÑÑвенно как @ и ~. ÐÑи имена по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð´ÐµÐ¹ÑÑвÑÑÑ, но ÑÑиÑаÑÑÑÑ ÑÑÑаÑевÑими и в конÑе конÑов бÑдÑÑ ÑпÑаздненÑ. ÐамеÑÑÑе, ÑÑо ÑÑаÑÑе имена пÑоизоÑли из ÑоглаÑениÑ, коÑоÑÐ¾Ð¼Ñ ÑанÑÑе Ñледовали клÑÑевÑе геомеÑÑиÑеÑкие ÑÐ¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ
!)
Также поддеÑживаÑÑÑÑ ÑÑандаÑÑнÑе опеÑаÑоÑÑ Ð´Ð»Ñ B-деÑева, напÑимеÑ:
| ÐпеÑаÑÐ¾Ñ | ÐпиÑание |
|---|---|
[a, b] < [c, d] | ÐенÑÑе |
[a, b] > [c, d] | ÐолÑÑе |
ÐÑи опеÑаÑоÑÑ Ð½Ðµ имеÑÑ Ð±Ð¾Ð»ÑÑого ÑмÑÑла ни Ð´Ð»Ñ ÐºÐ°ÐºÐ¾Ð¹ пÑакÑиÑеÑкой Ñели, кÑоме ÑоÑÑиÑовки. ÐÑи опеÑаÑоÑÑ ÑнаÑала ÑÑавниваÑÑ (a) Ñ (c), и еÑли они ÑавнÑ, ÑÑавниваÑÑ (b) Ñ (d). РезÑлÑÑÐ°Ñ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑпоÑÑдоÑиÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¾Ð±Ñазом, Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑим Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑинÑÑва ÑлÑÑаев, ÑÑо полезно, еÑли Ð²Ñ Ñ Ð¾ÑиÑе пÑименÑÑÑ ORDER BY Ñ ÑÑим Ñипом.
F.34.5. ÐÑимеÑаниÑ
ÐÑимеÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑвидеÑÑ Ð² ÑегÑеÑÑионном ÑеÑÑе sql/seg.sql.
ÐеÑ
анизм, пÑеобÑазÑÑÑий (+-) в обÑÑнÑе диапазонÑ, не вполне ÑоÑно опÑеделÑÐµÑ ÑиÑло знаÑаÑиÑ
ÑиÑÑ Ð´Ð»Ñ Ð³ÑаниÑ. ÐапÑимеÑ, он добавлÑÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ ÑиÑÑÑ Ðº нижней гÑаниÑе, еÑли ÑезÑлÑÑиÑÑÑÑий инÑеÑвал вклÑÑÐ°ÐµÑ ÑÑÐµÐ¿ÐµÐ½Ñ Ð´ÐµÑÑÑи:
postgres=> select '10(+-)1'::seg as seg;
seg
---------
9.0 .. 11 -- должно бÑÑÑ: 9 .. 11
ÐÑоизводиÑелÑноÑÑÑ Ð¸Ð½Ð´ÐµÐºÑа-R-деÑева Ð¼Ð¾Ð¶ÐµÑ Ð·Ð½Ð°ÑиÑелÑно завиÑеÑÑ Ð¾Ñ Ð½Ð°ÑалÑного поÑÑдка вводимÑÑ
знаÑений. ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÐµÐ½Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ оÑÑоÑÑиÑоваÑÑ Ð²Ñ
однÑÑ ÑаблиÑÑ Ð¿Ð¾ ÑÑолбÑÑ seg; пÑÐ¸Ð¼ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в ÑкÑипÑе sort-segments.pl.
F.34.6. ÐлагодаÑноÑÑи
ÐеÑвÑй авÑоÑ: Ðжин Селков мл. <[email protected]>, ÐÑгоннÑÐºÐ°Ñ Ð½Ð°ÑионалÑÐ½Ð°Ñ Ð»Ð°Ð±Ð¾ÑаÑоÑиÑ, ÐÑдел маÑемаÑики и компÑÑÑеÑнÑÑ
наÑк
Я оÑÐµÐ½Ñ Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñен в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ Ð¿ÑоÑеÑÑоÑÑ Ðжо ÐеллеÑÑÑÐµÐ¹Ð½Ñ (https://dsf.berkeley.edu/jmh/) за поÑÑнение ÑÑÑи GiST (http://gist.cs.berkeley.edu/). Я Ñакже пÑизнаÑелен вÑем ÑазÑабоÑÑикам Postgres в наÑÑоÑÑем и пÑоÑлом за возможноÑÑÑ ÑоздаÑÑ Ñвой ÑобÑÑвеннÑй Ð¼Ð¸Ñ Ð¸ Ñпокойно жиÑÑ Ð² нÑм. ÐÑÑ Ñ Ñ Ð¾Ñел Ð±Ñ Ð²ÑÑазиÑÑ Ð¿ÑизнаÑелÑноÑÑÑ ÐÑгоннÑкой лабоÑаÑоÑии и ÐиниÑÑеÑÑÑÐ²Ñ ÑнеÑгеÑики СШРза Ð³Ð¾Ð´Ñ Ð¿Ð¾ÑÑоÑнной поддеÑжки Ð¼Ð¾Ð¸Ñ Ð¸ÑÑледований в облаÑÑи баз даннÑÑ .