لماذا يجب عليك استخدام الحقول المحسوبة؟ كقاعدة عامة، يتم تقديم المعلومات الموجودة في قاعدة البيانات في شكل أجزاء منفصلة، لأنه من الأسهل تنظيم البيانات والعمل عليها. ومع ذلك، سنحتاج في كثير من الأحيان إلى استخدام ليس أجزاء فردية من البيانات، ولكن المعلومات المجمعة والمعالجة بالفعل. على سبيل المثال، غالبًا ما يكون من الضروري الجمع بين الأسماء الأولى والأخيرة للعملاء، والجمع بين عناصر العناوين الموجودة في أعمدة مختلفة من الجدول، ومعالجة النصوص والكلمات الفردية والحروف والرموز، لتلخيص التكلفة الإجمالية للشراء لعرض إحصائيات حول المعلومات الموجودة في قاعدة البيانات. يتم عادةً تخزين البيانات في "أجزاء" منفصلة، الأمر الذي يتطلب معالجة إضافية من جانب برنامج العميل. ومع ذلك، من الممكن تلقي المعلومات التي تمت معالجتها بالفعل باستخدام نظام إدارة قواعد البيانات (DBMS). في هذه الحالة تساعد حقول الحساب. يتم إنشاؤها تلقائيًا عند تنفيذ الاستعلام ولها مظهر وخصائص الأعمدة العادية الموجودة بالفعل في الجدول. والفرق الوحيد هو أنه لا توجد حقول محسوبة فعليًا، لذا فهي لا تشغل مساحة إضافية في قاعدة البيانات، ولكنها موجودة مؤقتًا في "الذاكرة العشوائية" لنظام إدارة قواعد البيانات. ميزة تنفيذ العمليات على جانب نظام إدارة قواعد البيانات هي سرعة معالجة البيانات.
إحدى طرق استخدام الحقول المحسوبة هي إجراء عمليات حسابية على البيانات المحددة. لنأخذ مثالاً لكيفية حدوث ذلك، باستخدام جدول Sumproduct مرة أخرى. لنفترض أنك بحاجة إلى حساب متوسط سعر الشراء لكل منتج. للقيام بذلك، تحتاج إلى إعادة توزيع عمود المبلغ على Quantity (الكمية):
Run SQLSELECT DISTINCT Product, Amount/Quantity
FROM Sumproduct
كما ترون، قام نظام إدارة قواعد البيانات (DBMS) بتحديد جميع أسماء المنتجات وعرض متوسط تكلفتها في عمود منفصل تم إنشاؤه أثناء تنفيذ الاستعلام. يمكنك أيضًا ملاحظة أننا استخدمنا عامل تشغيل إضافي DISTINCT، والذي نحتاج إليه لعرض أسماء المنتجات الفريدة (بدونه سيكون لدينا سجلات مكررة).
في المثال السابق، قمنا بحساب متوسط سعر الشراء لكل منتج وعرضنا القيمة في عمود الحساب. ومع ذلك، في المستقبل، سيكون من غير المناسب لنا الإشارة إلى هذا الحقل، لأن اسمه غير مفيد بالنسبة لنا (أعطى نظام إدارة قواعد البيانات اسم الحقل - Expr1001). ومع ذلك، يمكننا تسمية الحقل بشكل مستقل عن طريق تحديد اسمه في الاستعلام مسبقًا، أي إعطاء اسم مستعار. لنعيد كتابة المثال السابق ونحدد اسمًا مستعارًا للحقل المحسوب:
Run SQLSELECT DISTINCT Product, Amount/Quantity AS AvgPrice
FROM Sumproduct
نرى أن حقل الحساب الخاص بنا قد حصل على اسمه الخاص AvgPrice. لهذا استخدمنا عامل التشغيل AS، وبعد ذلك حددنا الاسم الذي نحتاجه. تجدر الإشارة إلى أنه يتم دعم العمليات الرياضية الأساسية فقط في لغة SQL: الجمع (+)، والطرح (-)، والضرب (*)، والقسمة (/). يمكنك أيضًا استخدام الأقواس المستديرة لتغيير تسلسل العمليات.
غالبًا ما تُستخدم الأسماء المستعارة ليس فقط لتسمية حقول العمليات الحسابية، ولكن أيضًا لإعادة تسمية الحقول النشطة. قد يكون ذلك ضروريًا إذا كان للحقل النشط اسم طويل أو إذا لم يكن الاسم غنيًا بالمعلومات بشكل كافٍ.
بالإضافة إلى العمليات الحسابية، يمكننا أيضًا دمج النص وعرضه في حقل منفصل. دعونا نفكر في كيفية لصق (تسلسل) النص. لتوصيل نص من أعمدة مختلفة في MS Access، يتم استخدام عامل الجمع (+)، على سبيل المثال:
Run SQLSELECT Month + ' ' + Product AS NewField, Quantity
FROM Sumproduct
في هذا المثال، قمنا بدمج القيم في عمودين وإخراج النتيجة إلى حقل جديد NewField.