Relational Algebra - مخزن مركز تحميل صور

Download Report

Transcript Relational Algebra - مخزن مركز تحميل صور

‫قاعدة البيانات‬
‫اعداد الطالبات ‪:‬‬
‫هند الحسن – آالء الحليمي – مريم العبدالباقي‬
‫شعبة ‪55 :‬‬
‫الدكتورة ‪ :‬عهود الدوسري‬
‫مقدمة‬
‫‪ ‬النموذج العالئقي هو مجموعة من العالقات المرتبطة مع بعضها‬
‫البعض‬
‫‪ ‬كل كينونة هي عالقة و يمكن اعتبارها جدول‬
‫‪ ‬الجدول هو مجموعة بيانات عنصر محدد ‪ ،‬في صورة صفوف‬
‫وأعمدة حيث إن كل صف يمثل سجل بيانات ‪ ،‬وكل عمود يمثل حقل‬
‫البيانات ‪.‬‬
‫‪ ‬كل صف في الجدول يحتوي على بيانات مترابطة التي تمثل كائن‬
‫في العالم الحقيقي‬
‫‪ ‬اسم الكينونة أو العالقة أو الجدول يستخدم لفهم معنى البيانات في‬
‫الجدول‬
‫‪ ‬مثال ‪:‬‬
‫‪ ‬عند إنشاء قاعدة بيانات للمدرسة فإنها ممكن أن تحتوي على الجداول‬
‫اآلتية ( جدول البيانات األساسية للطالب‪،‬جدول درجات الطالب‬
‫للمواد‪،‬جدول بيانات المعلمين‪ ،‬جدول الخدمات المدرسية ‪) ...‬‬
‫قواعد البيانات ‪Databases‬‬
‫‪ ‬مفهوم قواعد البيانات ‪Databases Concept‬‬
‫إنها تنظيم منطقي لمجموعات من الملفات المراتبطة‬
‫‪‬‬
‫خزنة بطريقة نموذجية يتم فيها‬
‫وم ّ‬
‫وتكون البيانات فيها ُمرتّبة ُ‬
‫تحاشي تكرار البيانات وتكمن أهمية قاعدة البيانات في نظم‬
‫اإلدارية في أن البيانات التي فيها تُش ّكل المادة‬
‫المعلومات‬
‫ّ‬
‫ليستخرج منها المعلومات التي تُستخدم من‬
‫األولية التي تُعالج ُ‬
‫قبل اإلدارة‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫وتحوي قاعدة البيانات على اآلتي‪:‬‬
‫‪ .1‬الملفات ‪ Files‬وهي مجموعة سجالت مرتبطة‪.‬‬
‫‪ .2‬السجالت ‪Records‬وهي مجموعة من حقول بيانات‬
‫مرتبطة‪.‬‬
‫‪ .3‬الحقول ‪Fields‬‬
‫معمارية نظام إدارة قاعدة البيانات‬
‫‪Architecture of Database Management‬‬
‫‪System.‬‬
‫‪ .1 ‬المستوى الخارجي ‪External Level‬‬
‫مستوى في قاعدة البيانات يستطيع فيه المستخدمون‬
‫‪‬‬
‫التخاطب واالتصال‪ ،‬واسترجاع البيانات والمعلومات من خال ل‬
‫برامج تطبيقية أو طرق مباشرة من خالل لغة االستعالم‬
‫المهيكلة ‪، Structured Query Language/ SQL‬‬
‫أو من خالل نماذج االسترجاع‪ ،‬أو مخطط قاعدة البيانات‬
‫الخارجي )‪.(External Schema‬‬
‫زود المستخدم‬
‫‪‬‬
‫ومن الضروري في المستوى الخارجي أن ُي ّ‬
‫بآليات تصميم وتشغيل تعمل كوسيط الستقبال البيانات من‬
‫المستخدم واليه‪.‬‬
‫ُ‬
‫األساسية في نظام اإلتصاالت‪.‬‬
‫ّ‬
‫‪Component of Telecommunications‬‬
‫‪System.‬‬
‫‪ .2 ‬المستتوى المفتاييمي ‪/‬المنطقتي ‪Conceptual/ Logic‬‬
‫‪Level‬‬
‫هي المرحلة الوسيطة بين المستوى الخارجي‬
‫‪‬‬
‫فكرية‬
‫والداخلي في قاعدة البيانات والذي تتم به عمليات‬
‫ّ‬
‫المنطقية لمخطط‬
‫ومنطقية من قبل المستخدم‪ ،‬ويصف البنية‬
‫ّ‬
‫خزنة في قاعدة البيانات‪ ،‬والممثلة للواقع والعالقات‬
‫الم ّ‬
‫البيانات ُ‬
‫بطريقة منطقية تناسب استخدامها‬
‫صمم قاعدة البيانات‬
‫‪‬‬
‫ويتولى تصميم هذا المستوى ُم ّ‬
‫ويحوي على جميع الكينونات وصفاتها وعالقاتها‪ ،‬كما يحوي‬
‫بمخطط البيانات‪ ،‬إجراءات‬
‫المعلومات ذات المعنى الخاصة ُ‬
‫سرية‬
‫الحفاظ على سالمة البيانات‪ ،‬وقوانين الحفاظ على‬
‫ّ‬
‫المعلومات وادامتها‪.‬‬
‫‪ .3‬المستوى الداخلي‪ /‬المادي ‪Internal Level‬‬
‫‪‬‬
‫‪‬‬
‫المادي للبيانات دون‬
‫يحوي هذا المستوى تمثيل النموذج‬
‫ّ‬
‫رقمية‬
‫النظر إلى معناها المنطقي‪ ،‬إذ تتم به عمليات‬
‫ّ‬
‫المادي كما‬
‫وحسابية لتحويل الشكل المنطقي إلى الشكل‬
‫ّ‬
‫ّ‬
‫المادية لقاعدة البيانات‬
‫يشمل أيضا على التراكيب والبنى‬
‫ّ‬
‫للوصول إلى أفضل أداء‪ ،‬مع توفير آليات التخاطب مع‬
‫نظم التشغيل‬
‫ومن أهم الوظائف التي يقوم بها المستوى الداخلي‪ :‬تحديد‬
‫أماكن التخزيـن والفهارس للبيانات‪ ،‬ووصف السجالت‬
‫لغايات التخزين وتحديد احتياجاتها‪ ،‬حفظ البيانات ونشرها‪،‬‬
‫وتحديد تراكيب البيانات وهيكليتها‪.‬‬
‫مخططات قواعد البيانات (‪)Schemas‬‬
‫وصف قواعد البيانات يسمي ”مخطط قواعد البيانات“‬
‫(‪)Schema‬‬
‫‪ ‬يستخدم المخطط عند تصميم قواعد البيانات‬
‫‪ ‬هذا المخطط ال يتوقع تغيره بشكل تكرارى‬
‫‪ ‬يتم عادة تمثيل هذا المخطط باستخدام شكل أو رسم هندسي‬
‫‪ ‬يوضح هذا المخطط بعض األشياء مثل أسماء السجالت وأسماء‬
‫الحقول وقد ال تظهر فيه نوع البيانات المستخدمة أو العالقات بين‬
‫البيانات‬
‫‪ ‬يسمى هذا المخطط ”‪“Intension‬‬
‫‪ ‬هذا المخطط يتم تخزين وصفه داخل قاموس قواعد البيانات‬
‫(‪)database catalog‬وهذا ما يعرف باسم ”‪“meta-data‬‬
‫مخطط لبيانات جامعة (‪)Schema‬‬
‫الطالب‬
‫االسم‬
‫الفصل‬
‫رقم الطالب‬
‫التخصص‬
‫المساق‬
‫رقم‪-‬المساق‬
‫اسم المساق‬
‫القسم‬
‫عدد الساعات‬
‫المتطلب السابق‬
‫رقم‪-‬المساق‬
‫رقم‪-‬المتطلب‬
‫الشعبة‬
‫رقم‪-‬الشعبة‬
‫رقم‪-‬المقرر‬
‫الفصل‬
‫كشف‪-‬الدرجات‬
‫رقم الطالب‬
‫رقم الشعبة‬
‫الدرجة‬
‫السنة‬
‫المحاضر‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫الجزء المركزي في النموذج العالئقي هو العالقة)‪(relation‬‬
‫جسد العالقة‪ :‬هو مجموعة المرتبات(‪)Tuple‬‬
‫المرتب هو عبارة عن الصف في الجدول أو السجل‬
‫كل سجل(مرتب) في جسد العالقة له نفس عدد الحقول الموصوفة في المخطط‬
‫عنوان العمود في الجدول هو الخاصية(‪)Attribute‬‬
‫حقول‪ ،‬أعمدة‪ ،‬خصائص‬
‫أسماء‬
‫الحقول‬
‫سجالت‪،‬‬
‫مرتبات‪،‬‬
‫صفوف‬
‫اسم الطالب‬
‫رقم الطالب‬
‫المعدل‬
‫أحمد يوسف‬
‫‪10344452‬‬
‫‪77‬‬
‫علي بسام‬
‫‪10812345‬‬
‫‪90‬‬
‫معن عيسى‬
‫‪110723457‬‬
‫‪80‬‬
‫‪‬‬
‫‪‬‬
‫مالحظات‬
‫كلما زاد عدد الحقول تطلب من البرنامج وقتا ً أطول في‬
‫معالجتها ‪ ،‬لذلك يجب تقليل عددالحقول داخل الجدول ‪.‬‬
‫أي يجب عدم وضع جميع البيانات في جدول واحد بل يجب أن‬
‫يحتوي كل جدول على بيانات أحد العناصر ‪ ،‬ويمكن بعد ذلك‬
‫ربط الجداول بعالقات يتم من خاللها استدعاء البيانات من أكثر‬
‫من جدول ‪.‬‬
‫‪‬‬
‫تجنب أن يتضمن الجدول حقوالً محسوبة(الصفات‬
‫المشتقة) مثل المجموع أو الربح ‪ ، ...‬حيث من األفضل‬
‫بناء تلك الحقول في االستعالم أو النموذج أو التقرير لتتغير‬
‫قيمها حسب تحديث البيانات في الجدول ‪.‬‬
‫حاالت قواعد البيانات (‪)Instances‬‬
‫البيانات المتواجدة داخل قواعد البيانات في لحظة معينة تسمي‬
‫”حالة قواعد البيانات أو الوضع الحالي لقواعد البيانات‬
‫‪(DB State or Current Set of Occurrence or‬‬
‫)‪Instance‬‬
‫‪ ‬يتم إنشاء الوضع االبتدائى لها عند إدخال البيانات ألول مرة ثم‬
‫يتغير وضعها عند إجراء العمليات المختلفة على البيانات (إضافة‬
‫– حذف – تعديل)‬
‫‪ ‬تسمى حالة البيانات هذه ”‪“Extension‬‬
‫قاعدة البيانات العالئقية‬
‫‪‬‬
‫قاعدة البيانات العالئقية هي تجميع لعالقات بأسماء مختلفة‬
‫‪‬‬
‫مخطط قاعدة البيانات ألعالئقي هو تجميع لمخططات‬
‫العالقات في قاعدة البيانات‬
‫‪ ‬الشروط الواجب توفرها في العالقة في نموذج القواعد‬
‫ألعالئقي‪:‬‬
‫‪ .1‬يجب أن يكون لكل عالقة مفتاح ويمكن أن يكون المفتاح‬
‫خاصية أو أكثر‬
‫‪ .2‬ترتيب الصفوف واألعمدة غير مهم‬
‫‪ .3‬القيم داخل العالقة يجب أن تكون بسيطة أي قيمة مفردة‬
‫‪ .4‬ال يجوز أن يكون هناك صفين متشابهين‬
‫أنواع المحددات في النموذج العالئقي‬
‫‪ ‬محددات المجال(‪)Domain constraints‬‬
‫‪ ‬محددات المفاتيح(‪)Key constraints‬‬
‫‪ ‬محددات التكامل المرجعي(‪)Referential Integrity Constraints‬‬
‫‪ ‬محددات المجال(‪ :)Domain constraints‬يتم من خاللها تحديد القيم‬
‫التي يمكن إعطائها إلى خاصية معينة‬
‫‪ ‬أمثلة على المجال‪:‬‬
‫‪ ‬رقم الهاتف ‪ :‬مجموعة األرقام من ثماني منازل مثال وتمثل رقم هاتق‬
‫مستخدم‬
‫‪ ‬رقم الهوية‪ :‬رقم مكون من ‪ 9‬منازل‬
‫‪ ‬األسماء‪ :‬سلسلة رمزية (حروف) مستخدمة من قبل البشر‬
‫‪ ‬خاصية الجنس‪ :‬ذكر أو أنثى‬
‫‪ ‬عالمات الطالب‪ :‬بين ‪ 35‬و ‪100‬‬
‫أوراكل كأي لغة برمجة لديها عدد كبير من أنواع البيانات والتي تعطي المرونة في تحديد نوع‬
‫البيانات التي يجب التعامل معها ومنها‪:‬‬
‫أنواع البيانات‬
‫الوصف‬
‫الطول‬
‫‪Char‬‬
‫نصي‬
‫‪255byte‬‬
‫‪Varchar2‬‬
‫نصي‬
‫‪2kb‬‬
‫‪Number‬‬
‫رقمي‬
‫‪512byte‬‬
‫‪Date‬‬
‫تاريخي‬
‫‪7byte‬‬
‫‪Long‬‬
‫رقمي طويل‬
‫‪2kb‬‬
‫‪Long Raw‬‬
‫ثنائي متحول‬
‫‪4Gb‬‬
‫‪boolean‬‬
‫منطقي‬
‫‪Y/N‬‬
‫‪‬محددات المفاتيح(‪:)Key constraints‬‬
‫المفتاح هو خاصية أو مجموعة خصائص تحدد صف واحد داخل الجدول بدون‬
‫تكرار‪.‬‬
‫‪ ‬نصف الخاصية القادرة على تحديد سجالت الكيان بشكل فريد بالمفتاح‪ ,‬فإذا‬
‫وجدت خاصية واحدة (أو عدة خصائص) تحقق هذا الشرط سميت مفتاح مرشح‬
‫(‪.)Candidate Key‬‬
‫‪ ‬هناك عدة أنواع من المفاتيح‪:‬‬
‫‪ ‬المفتاح الشامل(‪ :)Super Key‬هو مجموعة خصائص تحدد صف‬
‫واحد داخل الجدول بدون تكرار‪.‬‬
‫‪‬‬
‫المفتاح المرشح(‪ :)Candidate Key‬هو أقل عدد من الخصائص‬
‫التي تحدد صف واحد داخل الجدول بدون تكرار‪.‬‬
‫‪‬‬
‫من هنا يمكن القول بأن كل مفتاح مرشح هو مفتاح شامل وليس العكس‬
‫‪‬‬
‫المفتاح األساسي(‪ :)Primary Key‬هو أحد المفاتيح المرشحة‬
‫◦ ونستطيع أن نعرف المفتاح األساسي على أنه ‪ :‬حقل أو أكثر من‬
‫حقل يحتوي على قيمة فريدة لكل سجل من سجالت الجدول‪.‬‬
‫◦ أي ال يمكن ان يتكرر‪ ،‬كما ال يجوز ان يكون حقال فارغا ‪.‬ويتم‬
‫الوصول الى بقية السجالت من خالل هذا الحقل المفتاحي ‪.‬‬
‫◦ ال يوجد مفتاح مرشح للكيان الضعيف‪ ،‬كل كيان ضعيف سنفترض‬
‫عدم وجود خاصية فريدة تعرف الكيان‬
‫‪ ‬المفتاح األجنبي(‪ :)Foreign Key‬الصفات التي تكون في الجدول األول مفتاح‬
‫رئيسي وفي الجدول الثاني حقل عادي تدعى في الجدول الثاني مفتاح أجنبي‬
‫‪ ‬يستخدم للربط بين الجداول وسنتحدث عن ذلك فيما بعد‬
‫‪ ‬محددات التكامل المرجعي(‪)Referential Integrity Constraints‬‬
‫تقوم هذه المحددات على مفهوم أنه ال يجوز عمل تضارب في‬
‫العالقة بين جدولين‬
‫وهناك قواعد لتأكيد هذا المفهوم وهي‪:‬‬
‫‪ ‬ال يجوز اضافة قيم في الجدول(من نوع كينونة ضعيفة) ما لم‬
‫توجد قيم مالئمة في الجدول الذي يمثل الكينونة األب‬
‫المرتبط به‬
‫‪ ‬ال يجوز حذف قيم من الجدول من نوع كينونة األب إذا كانت‬
‫هناك قيم مرتبطة في جدول آخر من نوع كينونة اإلبن‬
‫‪ ‬اعداد الطالبات ‪:‬‬
‫‪ ‬هند الحسن – آالء الحليمي – مريم العبدالباقي‬
‫‪ ‬شعبة ‪55 :‬‬
‫‪ ‬الدكتورة ‪ :‬عهود الدوسري‬