بسم الله الرحمن الرحيم

الدرس الثاني : Relational Data Models

تاريخ النشر : Oct. 11, 2022

تلخيص الكورس من || UDACITY تلخيص محمود جابر


01 Learning Objective

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

02 Databases

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

03 Importance Of Relational Databases

لذا ، لنتحدث عن أهمية قواعد البيانات العلائقية. لذا ، القليل من التاريخ هنا. تم اختراع مفهوم قواعد البيانات العلائقية في حوالي عام 1969 من قبل الباحثين في شركة IBM. كان Edgar R. Codd هو الباحث الرئيسي. اقترح 12 قاعدة لما يجعل نظام إدارة قاعدة البيانات نظامًا علاقيًا حقًا. لن نتجاوز كل قاعدة ، لكني أريد التركيز هنا على القاعدة الأولى لأنها مهمة بشكل خاص لهذه الدورة. القاعدة الأولى ، قاعدة المعلومات. يتم تمثيل جميع المعلومات في قاعدة البيانات العلائقية بشكل صريح على المستوى المنطقي بطريقة واحدة بالضبط عن طريق القيم والجداول. القاعدة الأولى هي ما نحاول تحقيقه بنمذجة البيانات. تذكر ، هذه كلها مفاهيم مجردة للنمذجة العلائقية وما يجعل النظام نموذجًا علائقيًا صالحًا. إذن ، لماذا يعتبر النموذج العلائقي مهمًا؟ توحيد نموذج البيانات. يتطلب الأمر عملاً وجهدًا لتحويل بياناتك إلى تنسيق الصفوف والأعمدة. ولكن بمجرد القيام بذلك ، يتم توحيد بياناتك وسنتمكن من الاستعلام باستخدام SQL. الرقم الثاني هو المرونة في إضافة الجداول وتعديلها. تمنحك قاعدة البيانات العلائقية المرونة في إضافة الجداول وتعديل الجداول وإضافة البيانات أو إزالتها. تذكر أن هذه هي أساسيات ما يجعل قاعدة البيانات أيضًا نموذجًا علائقيًا. تكامل البيانات. سلامة البيانات هي العمود الفقري لاستخدام النموذج العلائقي. ستتذكر من الدرس الأول ، لقد تحدثنا عن هذا على نطاق واسع للغاية. تضمن الكتابة القوية للبيانات أن البيانات التي لا تتناسب مع النموذج لن يتم إدراجها مما يتسبب في حدوث تلف. رقم أربعة ، لغة الاستعلام القياسية. يمكن استخدام اللغة القياسية للوصول إلى البيانات بلغة محددة مسبقًا. بساطة. ثم أخيرًا ، تنظيم بديهي. أهم فائدة يجب أن نتذكرها هي أن البيانات يتم تخزينها ونمذجتها بشكل منهجي وأن عملية النمذجة هي عملية بديهية. إذا قمت بإنشاء جدول بيانات في Excel ، فقد قمت بإنشاء جداول وصياغة بياناتك. كان الأمر طبيعيًا جدًا ، حتى أنك لم تفكر في أنك تقوم بنمذجة البيانات ولكنك كنت تفعل ذلك حقًا. تتطلب الأنظمة الأكثر تعقيدًا تفكيرًا وتجريبًا أكثر كثافة ، لكن الأساسيات هي نفسها حقًا.

04 OLAP V OLTP

ملاحظة سريعة حول الفرق بين المعالجة التحليلية عبر الإنترنت أو OLAP أو OLTP ، معالجة المعاملات عبر الإنترنت. المعالجة التحليلية عبر الإنترنت أو OLAP. يسمح تحسين قاعدة البيانات لأحمال العمل هذه بالتحليلات المعقدة والاستعلامات المخصصة. تم تحسين هذه الأنواع من قواعد البيانات للقراءة. معالجة المعاملات عبر الإنترنت ، OLTP. تسمح قواعد البيانات المحسّنة لأحمال العمل هذه باستعلامات أقل تعقيدًا بأحجام كبيرة. تتم قراءة أنواع الاستعلامات الخاصة بقواعد البيانات هذه وإدراجها وتحديثها وحذفها. فلنستعرض مثالاً حتى نتمكن من فهم الفرق بين الاثنين. سيخبرك استعلام OLAP عن عدد الأحذية التي تم بيعها الأسبوع الماضي في المتاجر في كاليفورنيا.

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

05 Structuring The Database Normalization

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

لكن يجب أن تشعر وكأنها عملية طبيعية. ستعمل على تقليل عدد نسخ البيانات وزيادة احتمال صحة بياناتك في جميع المواقع. هذا شعور طبيعي للغاية ، يبدو وكأنه شيء نريد القيام به. عدم التطابق: لن يشعر بأنه طبيعي. سيكون لديك نسخ مكررة من بياناتك. قد لا يكون هذا طبيعيًا بالنسبة لك ، أليس كذلك؟ قد يبدو ذلك كالتالي ، "حسنًا ، إذا كانت لدي كل هذه المعلومات في عمود واحد ، فأنا لا أرغب في وضعها جميعًا في عمود آخر في جدول ، فأنا أرغب في تطبيعها." ولكن في بعض الأحيان يجب إجراء إلغاء التطابق لأسباب تتعلق بالأداء ، وسنتحدث عن ذلك هنا في غضون دقيقتين. لذلك ، ستكون هذه الجداول أكثر تركيزًا على الاستعلامات التي سيتم تشغيلها. هذا ما كنا نتحدث عنه عندما كنا نتحدث عن قواعد بيانات NoSQL أمس في الدرس الأول. تمام. لذا ، دعونا نركز أكثر قليلاً على التطبيع. عملية هيكلة قاعدة بيانات علائقية وفقًا لسلسلة من النماذج العادية لتقليل تكرار البيانات وزيادة تكامل البيانات. لذلك ، تم اقتراح هذه العملية مرة أخرى بواسطة Edgar Codd. يبدو أنه يجب أن يكون والد قواعد البيانات العلائقية. تنظم التسوية الأعمدة والجداول في قاعدة بيانات للتأكد من أن تبعياتها يتم فرضها بشكل صحيح من خلال قيود تكامل قاعدة البيانات. لا نريد أو نحتاج إلى نسخ إضافية من بياناتنا ، وهذا هو تكرار البيانات. نريد أن نكون قادرين على تحديث بياناتنا في مكان واحد وأن يكون ذلك مصدر الحقيقة ، أي تكامل البيانات. كلما زاد عدد نسخ البيانات ، زاد احتمال أن تكون بياناتنا قديمة أو غير محدثة أو غير صحيحة. لنلق نظرة على المثال في الشريحة التالية. إذن ، هذا مثال على الجدول الذي سنستخدمه لاحقًا في العرض التوضيحي في تمريننا. لنفترض أن لدينا طاولة تسمى مكتبة الموسيقى. تبدو عادية جدًا. لدينا صفان هنا ومجموعة متنوعة من الأعمدة ، لكن هذا ليس جدولًا قياسيًا. بينما نسير خلال عملية الانتقال إلى الشكل العادي الثالث ، سوف نتعلم السبب.

06 Objectives Of Normal Form

أهداف الشكل العادي. لتحرير قاعدة البيانات من عمليات الإدراج والتحديثات والحذف غير المرغوب فيها. انها بسيطة جدا. إذا اضطررت إلى تحديث بياناتي ، فهل أرغب في القيام بذلك في مكان واحد أم عدة أماكن؟ من الناحية المثالية ، أريد الذهاب وتحديث تلك البيانات في مكان واحد فقط. مرة أخرى ، يبدو الأمر طبيعيًا. يبدو أنه منطقي. ثانيًا ، تقليل الحاجة إلى إعادة هيكلة قاعدة البيانات مع إدخال أنواع جديدة من البيانات. عند إضافة جزء جديد من المعلومات ، على سبيل المثال ، تقوم شركتنا الآن بجمع عناوين البريد الإلكتروني لعملائنا ، لا نريد أن نضطر إلى تغيير نموذج البيانات الخاص بنا ومجموعة الجداول بالكامل. يجب أن نكون قادرين ببساطة على إضافة عمود أو جدول جديد بمفتاح خارجي خاصة إذا كان لدينا جداول قياسية ، نريد التأكد من أنه يمكننا فقط إضافة جدول جديد بمفتاح خارجي. لا نريد أن نضطر إلى المرور وقراءة كل صف وتحرير كل صف. فكر أيضًا في التطبيقات الأخرى التي تستخدم قاعدة البيانات الخاصة بك. إذا قمت بإجراء تبادلات بشرية ، فقد يؤثر ذلك على تلك التطبيقات. رقم ثلاثة هو جعل النموذج العلائقي أكثر إفادة للمستخدمين. يجب أن يكون النموذج العلائقي بديهيًا للغاية وأن يكون منطقيًا للآخرين ، تمامًا مثل الكود الجيد. يجب أن تكون هذه النماذج نموذجًا لمفاهيم الحياة الواقعية. رقم أربعة هو جعل قاعدة البيانات محايدة لإحصائيات الاستعلام. حاول ألا تصمم طاولاتك لاستخدامات معينة. حاول التأكد من إمكانية جمع كل المعلومات والأفكار الجديدة من الجداول بمرور الوقت. لذا يرجى ملاحظة أن هذا هو عكس ما ناقشناه تمامًا عندما كنا نتعلم عن جداول NoSQL وكنا نتحدث عن Apache Cassandra ونمذجة جداولنا وفقًا لاستفساراتنا. هذا هو عكس ذلك تمامًا.

08 Demo 01
09 Denormalization
10 Demo 02
11 Fact And Dimension Tables
12 Star Schemas
13 Benefits Of Star Schemas
14 Snowflake Schemas
15 Demo 03 - V2
16 Conclusion

العودة إلي Data Modeling