|
|
1 year ago | |
|---|---|---|
| .. | ||
| README.md | 1 year ago | |
| assignment.md | 1 year ago | |
README.md
العمل مع البيانات: البيانات غير العلائقية
![]() |
|---|
| العمل مع بيانات NoSQL - رسم توضيحي من @nitya |
اختبار ما قبل المحاضرة
البيانات ليست مقتصرة على قواعد البيانات العلائقية. تركز هذه الدرس على البيانات غير العلائقية وستغطي أساسيات الجداول الإلكترونية وNoSQL.
الجداول الإلكترونية
تُعد الجداول الإلكترونية وسيلة شائعة لتخزين واستكشاف البيانات لأنها تتطلب إعدادًا أقل للبدء. في هذا الدرس، ستتعلم المكونات الأساسية للجدول الإلكتروني، بالإضافة إلى الصيغ والدوال. سيتم توضيح الأمثلة باستخدام Microsoft Excel، ولكن معظم الأجزاء والموضوعات سيكون لها أسماء وخطوات مشابهة بالمقارنة مع برامج الجداول الإلكترونية الأخرى.
الجدول الإلكتروني هو ملف يمكن الوصول إليه من نظام الملفات على جهاز الكمبيوتر أو الجهاز أو نظام ملفات قائم على السحابة. قد يكون البرنامج نفسه مستندًا إلى المتصفح أو تطبيقًا يجب تثبيته على الكمبيوتر أو تنزيله كتطبيق. في Excel، تُعرف هذه الملفات أيضًا باسم دفاتر العمل، وسيتم استخدام هذا المصطلح لبقية هذا الدرس.
يحتوي دفتر العمل على ورقة عمل واحدة أو أكثر، حيث يتم تصنيف كل ورقة عمل بعلامات تبويب. تحتوي ورقة العمل على مستطيلات تُعرف بـ الخلايا، والتي تحتوي على البيانات الفعلية. الخلية هي نقطة تقاطع بين صف وعمود، حيث يتم تصنيف الأعمدة بأحرف أبجدية والصفوف بأرقام. تحتوي بعض الجداول الإلكترونية على رؤوس في الصفوف الأولى لوصف البيانات في الخلية.
مع هذه العناصر الأساسية لدفتر عمل Excel، سنستخدم مثالًا من قوالب Microsoft يركز على المخزون لاستعراض بعض الأجزاء الإضافية من الجدول الإلكتروني.
إدارة المخزون
ملف الجدول الإلكتروني المسمى "InventoryExample" هو جدول منسق يحتوي على عناصر ضمن المخزون ويحتوي على ثلاث أوراق عمل، حيث تم تصنيف علامات التبويب بـ "قائمة المخزون"، "قائمة اختيار المخزون"، و"بحث الصناديق". الصف الرابع من ورقة العمل "قائمة المخزون" هو الرأس، الذي يصف قيمة كل خلية في عمود الرأس.
هناك حالات تعتمد فيها قيمة خلية على قيم خلايا أخرى لتوليد قيمتها. يحتفظ جدول "قائمة المخزون" بتتبع تكلفة كل عنصر في المخزون، ولكن ماذا لو أردنا معرفة قيمة كل شيء في المخزون؟ الصيغ تُستخدم لإجراء عمليات على بيانات الخلايا، وفي هذا المثال تُستخدم لحساب تكلفة المخزون. استخدم هذا الجدول صيغة في عمود "قيمة المخزون" لحساب قيمة كل عنصر بضرب الكمية تحت رأس QTY وتكلفتها تحت رأس COST. عند النقر المزدوج أو تمييز خلية، ستظهر الصيغة. ستلاحظ أن الصيغ تبدأ بعلامة يساوي، متبوعة بالحساب أو العملية.
يمكننا استخدام صيغة أخرى لجمع جميع القيم في عمود "قيمة المخزون" للحصول على القيمة الإجمالية. يمكن حساب ذلك عن طريق جمع كل خلية، ولكن هذا قد يكون مهمة شاقة. يحتوي Excel على دوال، وهي صيغ معرفة مسبقًا لإجراء عمليات حسابية على قيم الخلايا. تتطلب الدوال معطيات، وهي القيم المطلوبة لإجراء هذه العمليات الحسابية. عندما تتطلب الدوال أكثر من معطى، يجب أن تكون مرتبة بترتيب معين وإلا قد لا تحسب القيمة الصحيحة. في هذا المثال، تُستخدم دالة SUM، وتستخدم القيم في عمود "قيمة المخزون" كمعطيات لإضافة المجموع المدرج تحت الصف 3، العمود B (ويُشار إليه أيضًا بـ B3).
NoSQL
NoSQL هو مصطلح شامل يشير إلى الطرق المختلفة لتخزين البيانات غير العلائقية ويمكن تفسيره على أنه "غير SQL"، "غير علائقي" أو "ليس فقط SQL". يمكن تصنيف هذه الأنواع من أنظمة قواعد البيانات إلى 4 أنواع.
المصدر من مدونة Michał Białecki
قواعد بيانات المفتاح-القيمة تربط مفاتيح فريدة، وهي معرفات فريدة مرتبطة بقيمة. يتم تخزين هذه الأزواج باستخدام جدول تجزئة مع دالة تجزئة مناسبة.
المصدر من Microsoft
قواعد بيانات الرسم البياني تصف العلاقات في البيانات ويتم تمثيلها كمجموعة من العقد والحواف. تمثل العقدة كيانًا، شيئًا موجودًا في العالم الحقيقي مثل طالب أو كشف حساب بنكي. تمثل الحواف العلاقة بين كيانين. تحتوي كل عقدة وحافة على خصائص توفر معلومات إضافية عن كل منهما.
مخازن البيانات العمودية تنظم البيانات في أعمدة وصفوف مثل بنية البيانات العلائقية، ولكن يتم تقسيم كل عمود إلى مجموعات تُعرف بعائلة الأعمدة، حيث تكون جميع البيانات تحت عمود واحد مرتبطة ويمكن استرجاعها وتغييرها كوحدة واحدة.
مخازن بيانات المستندات مع Azure Cosmos DB
مخازن بيانات المستندات تبني على مفهوم مخزن بيانات المفتاح-القيمة وتتكون من سلسلة من الحقول والكائنات. ستستكشف هذه القسم قواعد بيانات المستندات باستخدام محاكي Cosmos DB.
قاعدة بيانات Cosmos DB تتوافق مع تعريف "ليس فقط SQL"، حيث تعتمد قاعدة بيانات المستندات في Cosmos DB على SQL لاستعلام البيانات. الدرس السابق حول SQL يغطي أساسيات اللغة، وسنتمكن من تطبيق بعض الاستعلامات نفسها على قاعدة بيانات المستندات هنا. سنستخدم محاكي Cosmos DB، الذي يسمح لنا بإنشاء واستكشاف قاعدة بيانات مستندات محليًا على الكمبيوتر. اقرأ المزيد عن المحاكي هنا.
المستند هو مجموعة من الحقول وقيم الكائنات، حيث تصف الحقول ما تمثله قيمة الكائن. أدناه مثال على مستند.
{
"firstname": "Eva",
"age": 44,
"id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
"_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
"_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
"_attachments": "attachments/",
"_ts": 1630544034
}
الحقول ذات الأهمية في هذا المستند هي: firstname، id، وage. الحقول الأخرى التي تحتوي على الشرطات السفلية تم إنشاؤها بواسطة Cosmos DB.
استكشاف البيانات باستخدام محاكي Cosmos DB
يمكنك تنزيل وتثبيت المحاكي لنظام Windows هنا. راجع هذه الوثائق للحصول على خيارات حول كيفية تشغيل المحاكي لنظامي macOS وLinux.
يقوم المحاكي بفتح نافذة متصفح، حيث تتيح لك واجهة Explorer استكشاف المستندات.
إذا كنت تتابع، انقر على "Start with Sample" لإنشاء قاعدة بيانات نموذجية تسمى SampleDB. إذا قمت بتوسيع SampleDB بالنقر على السهم، ستجد حاوية تسمى Persons. تحتوي الحاوية على مجموعة من العناصر، وهي المستندات داخل الحاوية. يمكنك استكشاف المستندات الأربعة الفردية تحت Items.
استعلام بيانات المستندات باستخدام محاكي Cosmos DB
يمكننا أيضًا استعلام البيانات النموذجية بالنقر على زر استعلام SQL جديد (الزر الثاني من اليسار).
SELECT * FROM c يعيد جميع المستندات في الحاوية. لنضف شرط where ونبحث عن كل من هم أصغر من 40 عامًا.
SELECT * FROM c where c.age < 40
يعيد الاستعلام مستندين، لاحظ أن قيمة العمر لكل مستند أقل من 40.
JSON والمستندات
إذا كنت على دراية بـ JavaScript Object Notation (JSON)، ستلاحظ أن المستندات تشبه JSON. يوجد ملف PersonsData.json في هذا الدليل يحتوي على المزيد من البيانات التي يمكنك تحميلها إلى حاوية Persons في المحاكي عبر زر Upload Item.
في معظم الحالات، يمكن نقل البيانات التي تعيدها واجهات برمجة التطبيقات (APIs) بتنسيق JSON مباشرة وتخزينها في قواعد بيانات المستندات. أدناه مستند آخر يمثل تغريدات من حساب Microsoft على تويتر تم استرجاعها باستخدام واجهة برمجة تطبيقات تويتر، ثم إدخالها في Cosmos DB.
{
"created_at": "2021-08-31T19:03:01.000Z",
"id": "1432780985872142341",
"text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
"_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
"_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
"_attachments": "attachments/",
"_ts": 1630537000
الحقول ذات الأهمية في هذا المستند هي: created_at، id، وtext.
🚀 التحدي
يوجد ملف TwitterData.json يمكنك تحميله إلى قاعدة بيانات SampleDB. يُوصى بإضافته إلى حاوية منفصلة. يمكن القيام بذلك عن طريق:
- النقر على زر الحاوية الجديدة في الزاوية العلوية اليمنى.
- اختيار قاعدة البيانات الحالية (SampleDB) وإنشاء معرف للحاوية.
- تعيين مفتاح التقسيم إلى
/id. - النقر على OK (يمكنك تجاهل بقية المعلومات في هذه الشاشة لأن هذه مجموعة بيانات صغيرة تعمل محليًا على جهازك).
- فتح الحاوية الجديدة وتحميل ملف بيانات تويتر باستخدام زر
Upload Item.
حاول تشغيل بعض استعلامات SELECT للعثور على المستندات التي تحتوي على كلمة Microsoft في حقل النص. تلميح: حاول استخدام كلمة LIKE.
اختبار ما بعد المحاضرة
المراجعة والدراسة الذاتية
-
هناك بعض التنسيقات والميزات الإضافية المضافة إلى هذا الجدول الإلكتروني التي لم يغطيها هذا الدرس. لدى Microsoft مكتبة كبيرة من الوثائق والفيديوهات حول Excel إذا كنت مهتمًا بتعلم المزيد.
-
توضح هذه الوثائق المعمارية خصائص الأنواع المختلفة من البيانات غير العلائقية: البيانات غير العلائقية وNoSQL.
-
Cosmos DB هو قاعدة بيانات غير علائقية قائمة على السحابة يمكنها أيضًا تخزين الأنواع المختلفة من NoSQL المذكورة في هذا الدرس. تعرف على المزيد حول هذه الأنواع في وحدة تعلم Cosmos DB من Microsoft.
الواجب
إخلاء المسؤولية:
تمت ترجمة هذه الوثيقة باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار الوثيقة الأصلية بلغتها الأصلية المصدر الموثوق. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.









