دالة التجميع

في إدارة قواعد البيانات ، الدالة التجميعية أو دالة التجميع هي دالة يتم فيها معالجة قيم متعددة معًا لتشكيل إحصائية موجزة واحدة .

(الشكل 1) تمثيل مخطط علاقات الكيانات للتجميع.

تشمل الدوال التجميعية الشائعة ما يلي:

ومن بينها:

بصورة رسمية ، تأخذ الدالة التجميعية كمدخل مجموعة أو مجموعة متعددة (حقيبة) أو قائمة من مجال إدخال I وتخرج عنصرًا من مجال إخراج O. [ 1 ] قد يكون مجالا الإدخال والإخراج متطابقين، كما هو الحال بالنسبة لـ SUM، أو قد يكونان مختلفين، كما هو الحال بالنسبة لـ COUNT.

تُستخدم الدوال التجميعية بشكل شائع في العديد من لغات البرمجة ، وفي جداول البيانات ، وفي الجبر العلائقي .

تقوم الدالة listagg، كما هو محدد في معيار SQL:2016 [ 2 ] ، بتجميع البيانات من صفوف متعددة في سلسلة واحدة متصلة.

في مخطط علاقات الكيانات ، يتم تمثيل التجميع كما هو موضح في الشكل 1 بمستطيل حول العلاقة وكياناتها للإشارة إلى أنها تُعامل ككيان مجمع. [ 3 ]

دوال التجميع القابلة للتحليل

تُشكّل الدوال التجميعية عنق زجاجة ، لأنها قد تتطلب الحصول على جميع قيم المدخلات دفعة واحدة. في الحوسبة الموزعة ، يُفضّل تقسيم هذه العمليات الحسابية إلى أجزاء أصغر، وتوزيع العمل، عادةً بالتوازي ، عبر خوارزمية فرق تسد .

يمكن حساب بعض الدوال التجميعية بحساب المجموع الكلي لمجموعات فرعية، ثم تجميع هذه المجاميع؛ ومن الأمثلة على ذلك: دالة العد (COUNT) ، ودالة الحد الأقصى (MAX )، ودالة الحد الأدنى (MIN) ، ودالة المجموع (SUM) . في حالات أخرى، يمكن حساب المجموع الكلي بحساب أعداد مساعدة لمجموعات فرعية، ثم تجميع هذه الأعداد المساعدة، وأخيرًا حساب العدد الإجمالي في النهاية؛ ومن الأمثلة على ذلك: دالة المتوسط ​​(AVERAGE ) (التي تحسب المجموع والعد، ثم تقسم في النهاية) ودالة المدى (RANGE ) (التي تحسب الحد الأقصى والحد الأدنى، ثم تطرح في النهاية). في حالات أخرى، لا يمكن حساب المجموع الكلي دون تحليل المجموعة بأكملها دفعة واحدة، على الرغم من إمكانية توزيع التقريبات في بعض الحالات؛ ومن الأمثلة على ذلك: دالة العد المميز (DISTINCT COUNT) ( لحل مشكلة العد المميزودالة الوسيط (MEDIAN )، ودالة المنوال (MODE) .

تُسمى هذه الدوال دوال التجميع القابلة للتحليل [ 4 ] أو دوال التجميع القابلة للتحليل . وأبسطها يُمكن الإشارة إليها بدوال التجميع ذاتية التحليل ، والتي تُعرَّف بأنها تلك الدوال f التي يوجد لها عامل دمج .{\displaystyle \diamond }بحيث

و(XY)=و(X)و(Y){\displaystyle f(X\uplus Y)=f(X)\diamond f(Y)}

أين{\displaystyle \uplus } هو اتحاد المجموعات المتعددة (انظر تماثل أحادي ).

على سبيل المثال، المجموع :

مجموع(x)=x{\displaystyle \operatorname {SUM} ({x})=x}، بالنسبة لشخص واحد؛
مجموع(XY)=مجموع(X)+مجموع(Y){\displaystyle \operatorname {SUM} (X\uplus Y)=\operatorname {SUM} (X)+\operatorname {SUM} (Y)}، مما يعني أن الدمج{\displaystyle \diamond }هو ببساطة عملية جمع.

عدد :

عدد(x)=1{\displaystyle \operatorname {COUNT} ({x})=1}،
عدد(XY)=عدد(X)+عدد(Y){\displaystyle \operatorname {COUNT} (X\uplus Y)=\operatorname {COUNT} (X)+\operatorname {COUNT} (Y)}.

الأعلى :

الأعلى(x)=x{\displaystyle \operatorname {MAX} ({x})=x}،
الأعلى(XY)=الأعلى(الأعلى(X)،الأعلى(Y)){\displaystyle \operatorname {MAX} (X\uplus Y)=\max {\bigl (}\operatorname {MAX} (X),\operatorname {MAX} (Y){\bigr )}}.

الحد الأدنى :

مين(x)=x{\textstyle \operatorname {MIN} ({x})=x}, [ 2 ]
مين(XY)=مين(مين(X)،مين(Y)){\displaystyle \operatorname {MIN} (X\uplus Y)=\min {\bigl (}\operatorname {MIN} (X),\operatorname {MIN} (Y){\bigr )}}.

لاحظ أنه يمكن دمج وظائف التجميع ذاتية التحلل (رسميًا، بأخذ المنتج) عن طريق تطبيقها بشكل منفصل، لذلك على سبيل المثال يمكن للمرء حساب كل من المجموع والعدد في نفس الوقت، من خلال تتبع رقمين.

وبشكل أعم، يمكن تعريف دالة التجميع القابلة للتحليل f بأنها دالة يمكن التعبير عنها كتركيب لدالة نهائية g ودالة تجميع ذاتية التحليل h .و=زح،و(X)=ز(ح(X)){\displaystyle f=g\circ h,f(X)=g(h(X))}على سبيل المثال، المتوسط ​​= المجموع / العدد والمدى = الحد الأقصى - الحد الأدنى .

في إطار عمل MapReduce ، تُعرف هذه الخطوات باسم InitialReduce (القيمة على سجل فردي / مجموعة أحادية)، و Combine (دمج ثنائي على مجموعتين)، و FinalReduce (الدالة النهائية على القيم المساعدة)، [ 5 ] ويُعرف نقل التجميع القابل للتحليل قبل مرحلة Shuffle باسم خطوة InitialReduce، [ 6 ]

تُعدّ دوال التجميع القابلة للتفكيك مهمة في المعالجة التحليلية الفورية (OLAP)، إذ تسمح بحساب استعلامات التجميع على النتائج المحسوبة مسبقًا في مكعب OLAP ، بدلًا من البيانات الأساسية. [ 7 ] على سبيل المثال، من السهل دعم دوال COUNT و MAX و MIN و SUM في OLAP، حيث يمكن حسابها لكل خلية من خلايا مكعب OLAP ثم تلخيصها ("دمجها")، ولكن من الصعب دعم دالة MEDIAN ، إذ يجب حسابها لكل عرض على حدة.

دوال تجميعية أخرى قابلة للتحليل

لحساب المتوسط ​​والانحراف المعياري من البيانات المجمعة، من الضروري توفر المعلومات التالية لكل مجموعة: مجموع القيم (Σxi = SUM( x ))، وعدد القيم (N = COUNT(x) ) ، ومجموع مربعات القيم (Σxi² = SUM(x² ) ) لكل مجموعة. [ 8 ]AVGمتوسط(XY)=(متوسط(X)*عدد(X)+متوسط(Y)*عدد(Y))/(عدد(X)+عدد(Y)){\displaystyle \operatorname {AVG} (X\uplus Y)={\bigl (}\operatorname {AVG} (X)*\operatorname {COUNT} (X)+\operatorname {AVG} (Y)*\operatorname {COUNT} (Y){\bigr )}/{\bigl (}\operatorname {COUNT} (X)+\operatorname {COUNT} (Y){\bigr )}} أو متوسط(XY)=(مجموع(X)+مجموع(Y))/(عدد(X)+عدد(Y)){\displaystyle \operatorname {AVG} (X\uplus Y)={\bigl (}\operatorname {SUM} (X)+\operatorname {SUM} (Y){\bigr )}/{\bigl (}\operatorname {COUNT} (X)+\operatorname {COUNT} (Y){\bigr )}} أو فقط إذا كان عدد (X) يساوي عدد (Y) متوسط(XY)=(متوسط(X)+متوسط(Y))/2{\displaystyle \operatorname {AVG} (X\uplus Y)={\bigl (}\operatorname {AVG} (X)+\operatorname {AVG} (Y){\bigr )}/2}SUM(x2)يُعد مجموع مربعات القيم مهمًا لحساب الانحراف المعياري للمجموعات مجموع(X2Y2)=مجموع(X2)+مجموع(Y2){\displaystyle \operatorname {SUM} (X^{2}\uplus Y^{2})=\operatorname {SUM} (X^{2})+\operatorname {SUM} (Y^{2})}STDDEV: بالنسبة لمجموعة سكانية محدودة ذات احتمالات متساوية في جميع النقاط، لدينا [ 9 ]الانحراف المعياري(X)=s(x)=1شمالأنا=1شمال(xأنا-x¯)2=1شمال(أنا=1شمالxأنا2)-(x¯)2=مجموع(x2)/عدد(x)-متوسط(x)2{\displaystyle \operatorname {STDDEV} (X)=s(x)={\sqrt {{\frac {1}{N}}\sum _{i=1}^{N}(x_{i}-{\overline {x}})^{2}}}={\sqrt {{\frac {1}{N}}\left(\sum _{i=1}^{N}x_{i}^{2}\right)-({\overline {x}})^{2}}}={\sqrt {\operatorname {SUM} (x^{2})/\operatorname {COUNT} (x)-\operatorname {AVG} (x)^{2}}}}

وهذا يعني أن الانحراف المعياري يساوي الجذر التربيعي للفرق بين متوسط ​​مربعات القيم ومربع القيمة المتوسطة. الانحراف المعياري(XY)=مجموع(X2Y2)/عدد(XY)-متوسط(XY)2{\displaystyle \operatorname {STDDEV} (X\uplus Y)={\sqrt {\operatorname {SUM} (X^{2}\uplus Y^{2})/\operatorname {COUNT} (X\uplus Y)-\operatorname {AVG} (X\uplus Y)^{2}}}}الانحراف المعياري(XY)=(مجموع(X2)+مجموع(Y2))/(عدد(X)+عدد(Y))-((مجموع(X)+مجموع(Y))/(عدد(X)+عدد(Y)))2{\displaystyle \operatorname {STDDEV} (X\uplus Y)={\sqrt {{\bigl (}\operatorname {SUM} (X^{2})+\operatorname {SUM} (Y^{2}){\bigr )}/{\bigl (}\operatorname {COUNT} (X)+\operatorname {COUNT} (Y){\bigr )}-{\bigl (}(\operatorname {SUM} (X)+\operatorname {SUM} (Y))/(\operatorname {COUNT} (X)+\operatorname {COUNT} (Y)){\bigr )}^{2}}}}

انظر أيضاً

مراجع

  1. ^ يسوع وباكيرو وألميدا 2011 ، 2 تعريف المشكلة، ص 3.
  2. 1 2 ويناند، ماركوس (15 مايو 2017). "أخبار هامة في قواعد البيانات: معيار SQL جديد، وحروب الحوسبة السحابية، وACIDRain (ربيع 2017)" . DZone. مؤرشف من الأصل في 27 مايو 2017. تم الاطلاع عليه في 10 يونيو 2017. في ديسمبر 2016 ، أصدرت المنظمة الدولية للمعايير (ISO) نسخة جديدة من معيار SQL. تتضمن هذه النسخة ميزات جديدة مثل مطابقة أنماط الصفوف، وتجميع القوائم، وتنسيق التاريخ والوقت، ودعم JSON.
  3. المصري، رامز (2016). أساسيات أنظمة قواعد البيانات . شام نافاثي ( الطبعة السابعة). هوبوكين، نيوجيرسي. ص 133. ISBN   978-0-13-397077-7. OCLC 913842106 . {{cite book}}: CS1 maint: موقع الناشر مفقود ( رابط )
  4. ^ يسوع، باكيرو وألميدا 2011 ، 2.1 وظائف قابلة للتحلل، ص 3-4.
  5. ^ يو وجوندا وإيسارد 2009 ، 2. التجميع الموزع، ص 2-4.
  6. ^ يو وجوندا وإيسارد 2009 ، 2. التجميع الموزع، ص. 1.
  7. Zhang 2017 ، ص. 1.
  8. المهندس أوسكار بونيلا، ماجستير إدارة الأعمال
  9. الانحراف المعياري# المتطابقات والخصائص الرياضية

الأدب