- الحصول على الرابط
- X
- بريد إلكتروني
- التطبيقات الأخرى
- الحصول على الرابط
- X
- بريد إلكتروني
- التطبيقات الأخرى
السؤال الأهم والطبيعى اللى اى حد مفروض يسأله فى البداية , ما هى ال Database ؟
ال Database عباره عن مجموعه من البيانات مترتبه بطريقه معينه بحيث نستخدمها ونعدل عليها.
مثال على ال Database.
لنفترض ان احنا عاوزين نعمل Database خاصه بمكتبه , طبعاً فى حاجات كتير هنحتاج نحفظها فى ال Database بس نفترض دلوقتى ان احنا هنحفظ البيانات الخاصة بالكتب بس .
تمام يبقى ال Database اللى هنعملها هتبقى عباره عن مجموعه من البيانات الخاصة بالكتب اللى موجوده فى المكتبه هنحفظ البيانات دى بطريقه منظمه.
ما هى الطريقة المستخدمة فى حفظ بيانات الـ Database
سؤال مهم ازاى بقى فعلياً هنحفظ البيانات دى فى ال Storage الخاصه بينا.
1-نحفظ البيانات ب format معين داخل CSV FILE.
ال csv file عبارة عن ملف بنستخدمه لحفظ البيانات بحيث ان كل row يمثل entity or object وفى الحالة بتاعتنا ال object هو الكتاب ونفصل بين كل قيمة والأخرى ب comma.
لنفترض أن فى كتابين وبياناتهم كالتالى:
Name:book1 ,Year:2017
Name :book2,Year:2020
in Csv file
book1,2017
book2,2020
يبقى الملخص الـ Database عباره عن مجموع من البيانات محفوظة بطريقه معينه بحيث نستخدمها تانى ونعدل على البيانات أو نستعلم عليها.
كيف سوف يتم تعديل البيانات في الـ Database اللى احنا حالياً بنستخدم ملف CSV علشان نحفظها فيه؟
فى المثال السابق حفظنا كتابين فى الـ Database , احنا ممكن نفتح ملف ال CSV ونضيف دا بشكل يدوى ,وممكن شخص تانى يفتح المف ويشوف البيانات وممكن يعدل فيها كمان لأنه بيتعامل مع ملف عادى .
بس المكتبه ممكن يكون فيها اكتر من 100 ألف كتاب مش كتابين بس هل هنضيف الكتب بشكل يدوي , طب فى كتب جديدة تم اضافتها للمكتبة هل سوف يتم إضافتها بشكل يدوي؟ وفي كتب ممكن يتم إزالتها من المكتبة هل سوف يتم حذفها من الـ Database بشكل يدوي؟
بالتأكيد لأ.
"لو انت مبرمج هتعمل برنامج يقدر من خلاله المستخدم يعدل على الـ Database المحفوظه فى ال csv file."
المشاكل اللي ممكن تواجهك وانت بتعمل برنامج خاص بالـ Database.
1-ازاى تمنع أن ال object او ال row يتكرر اكثر من مره فى ال Database.
2-ازاى هيتم منع المستخدم النهائى للبرنامج انه يسجل بيانات خطأ, يعنى احنا بنسجل السنه اللى تم نشر فيها الكتاب,ازاى بقى انا اقدر امنع المستخدم اللى يكتب السنه كحروف او يكتب سنة بالسالب :-2017 . وهكذا.
3-لو بنخزن "دار النشر" مثلاً وعاوزين نظهر او استعلم او نعرف الكتب اللى تبع دار النشر ؟او الكتب الى تم نشرها فى سنة معينه؟او عاوزين نوصل لكتاب معين؟وهكذا؟
4-لو عندنا ملف csv file بنحفظ فيه الـ database بس فى نفس الوقت مش عاوزين غير مستخدم معين هو اللى يعدل فى الـ database .
5-طب افرض عايزين برنامج تانى يستخدم ال database .
6-بما ان فى اكتر من برنامج ممكن يستخدم ال database ,ايه اللى هيحصل لو البرامج حاوت توصل لل Database فى نفس الوقت وتعدل نفس البيانات.
7-ايه اللى هيحصل لو البرنامج بيعدل البيانات الخاصة ب row معين فى ال csv , وفى نص ال operation البرنامج اتعمله crash وجزء من الداتا اتعدل والجزء تانى لا. ازاى البرنامج اللى احنا عاملينه هيحل المشكله .
تعليقات
إرسال تعليق