دروس كمبيوتر وصيانة دروس حاسب دروس مجلة  درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus
توبيكات رمضان | رسايل رمضان | ثيمات رمضان | طبخات رمضانية | توبيكات رمضانية | صور عن رمضان | دعاء رمضان
احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (6,319 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (4,097 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (3,066 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (2,384 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (2,282 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (2,148 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (2,116 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,909 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,737 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,703 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,558 مشاهده)
دروس في الأوفيس الأكسس - Access0- (1,476 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,464 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,447 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,342 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,306 مشاهده)
التعرف على مكونات الكمبيوتر (1,266 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,249 مشاهده)
درس تعريب المجلة (1,241 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,234 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (1,218 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (1,191 مشاهده)
ما هو المات لاب MATLAB؟ (1,158 مشاهده)
مقدمة عن لغة البيسك (1,121 مشاهده)
الفيجوال بيسك - مقدمة (1,081 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (783 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (483 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (534 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (703 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (783 مشاهده)
دمج المراسلات0-- (435 مشاهده)
وضع صورة كخلفية للنص0-- (559 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (381 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (624 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (390 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,234 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (659 مشاهده)
أساسيات في Access0--0 (449 مشاهده)
تصميم تقرير لطباعة البيانات0---- (491 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (470 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (557 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (435 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (369 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (325 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (460 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (415 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (214 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (294 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (321 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (425 مشاهده)
اعلانات في الموقع على جميع الصفحات

دورة الأكسيس : الدرس الرابع : العلاقات



بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .


العلاقات RelationShip

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


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

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

لتلافي ذلك فإننا نستخدم ما يعرف بالعلاقات
RelationShip .


أنواع العلاقات :
النوع الأول :
One To One - علاقة واحد لواحد .
في هذه العلاقة نقول أن لكل سجل في القاعدة الرئيسية سجل واحد يقابله في القاعدة الثانية .
مثال على هذه العلاقة ضمن قاعدة بيانات الأصدقاء :
بفرض أننا نريد اضافة المعلومات الموجودة ضمن البطاقة الشخصية ( رقم البطاقة - فصيلة الدم - مصدر البطاقة )
نستطيع اضافة هذه الحقول مباشرة إلى الجدول الأول ، ولكن لاحظ كم سيصبح حجم هذا الجدول ، وبالتالي إذا حاولنا استخراج اسماء الأصدقاء فقط فسيستغرق المزيد من الوقت .
ربما لن يظهر ذلك مع قاعدتنا البسيطة ولكنه يظهر مع قواعد البيانات الضخمة .
إذن سنقوم بانشاء جدول جديد يحتوي على الحقول التالية ( رقم البطاقة - فصيلة الدم - مصدر البطاقة )
PassPort - BClass - From

تبقى شيء واحد وهو الحقل الذي يمثل رابطاً بين الجدولين .

وهذا الحقل الرابط له شروط هي :
* أن يكون موجوداً في الجدولين .
* أن يكون نوعه متطابقاً في الجدولين ( فلا يصلح أن يكون الأول رقم والثاني نص ) .
* أن يحتوي على قيم فريدة ( بمعنى أن لا يتكرر ) حتى لا يسبب المشاكل .

ولذا فإننا نقول أننا لا نستطيع أن نستخدم حقل الإسم لاخلاله بالشرط الثالث لاحتمال تشابه الأسماء .
لذلك فإن أنسب حقل هو حقل الرقم لأننا ذكرنا أنه سيحتوي على قيم فريدة ( غير متشابهه ) .
قم الآن باضافة حقل
Number إلى الجدول السابق وعينه كمفتاح رئيسي Primary Key ، وقم بحفظ الجدول تحت اسم Tb_R1 أو أي اسم كما تحب .


النوع الثاني :
One To Many - علاقة واحد لمجموعة ( والعكس صحيح ) .
في هذه العلاقة نقول إن لكل سجل في الجدول الرئيسي مجموعة سجلات في الجدول الثاني .
مثال ذلك المثال الذ قمنا بشرحه في الدرس السابق .
لو لاحظت المثال ستجد أن مجموعة من الطلاب يمكن أن يكون لهم سجل واحد في جدول الفرق ، لكن لا يمكن أن يكون لطالب ( سجل ) واحد أكثر من سجل آخر في جدول الفرق ( السنوات الدراسية ) .
وهذا هو الفرق بينه وبين النوع التالي .
لذا قم بانشاء جدول ثالث تحت اسم
Tb_R2 ويحتوي على الحقول التالية :
Year - Books - Students
السنة - الكتب - الطلاب
يمكننا اضافة حقل جديد في الجدول الأول
Tb_Main تحت اسم Year حيث سيكون هو الحقل الرابط بين الجدولين .
قم بالضغط على الجدول الأول ، ثم اضغط على ( تصميم -
Design ) ، ثم قم بالضغط بزر الماوس الأيسر في المكان المطلوب ثم قم بالضغط على ( ادراج صف - Insert Row ) .

أيضاً لا تنس أن تجعل حقل
Year مفتاح رئيسي في الجدول الثاني ( جدول الفرق الدراسية ) .

*** هذا النوع من علاقات هي الأكثر استخداماً .

النوع الثالث :
Many To Many - علاقة مجموعة إلى مجموعة :
هل تتذكر العبارة التالية التي أوردتها في الدرس السابق ؟
لكن لا يمكن أن يكون لطالب ( سجل ) واحد أكثر من سجل آخر في جدول الفرق ( السنوات الدراسية ) .
إذا أزلنا ( لا ) فإننا نكون قد حصلنا على النوع الثالث .
مثال هذه العلاقة :
لو أردنا أن نضيف جدولاً يحتوي على اللغات فإننا سنلاحظ التالي :

* يمكن للشخص الواحد أن يكون له أكثر من لغة .
* ويمكن للغة الواحدة أن تكون موجودة عند أكثر من شخص .

للقيام بهذه النوعية من العلاقات فإننا نحتاج إلى جدول بسيط ، فمثلاً لدينا جدولين في البداية هما :
الرقم - الاسم .

1 - أحمد
2 - محمد
3 - خالد
4 - سامي

والثاني للغات :
الرقم - اللغة

1 - العربية
2 - الانجليزية
3 - الفرنسية

أما الجدول الإضافي فهو للعلاقة بين اللغات والأشخاص ، فلكي ندلل على أن أحمد يتحدث العربية والانجليزية ، فيما يتحدث محمد الفرنسية ، أما خالد فيتحدث الثلاث ، بينما لا يتحدث سامي أي لغة ! فإننا سوف نشكل الجدول التالي :
رقم الشخص - رقم اللغة

1 - 1
1 - 2
2 - 3
3 - 1
3 - 2
3 - 3

سنقوم الآن ببعض التعديلات على الجداول يصبح كما في المثال المرفق



 



http://www.c4arab.com/images/lessons/databases/general/cpic/db4.zip




والآن وبعد معرفة الانواع المختلفة سنبدأ الآن بانشاء العلاقات بين الجدول ، وتوجد طريقتين للقيام بذلك :

* عن طريق محرر العلاقات .
* عن طريق المعالج الموجود في نوع البيانات
Data Types الموجود في خصائص الحقل .

وسوف نستخدم الطريقة الاولى .

سنبدأ الآن بإنشاء العلاقات بين جدول الأصدقاء وجدول معلومات البطاقة الشخصية ( تذكر أن العلاقة من نوع واحد إلى واحد
One To One ) .
من قائمة (
Tools - أدوات ) اختر ( Relationships - علاقات ) سوف تظهر شاشة فارغة - افتراضياً - ... اضغط بزر الماوس الأيمن واختر Show Tables - إظهار جداول ، وذلك بالشكل التالي :

referrelative=\"t\" path=\"m@4@5l@4@11@9@11@9@5xe\" filled=\"f\" stroked=\"f\">ath o:extrusionok=\"f\" gradientshapeok=\"t\" o:connecttype=\"rect\">ath>fficeffice\" />

والآن قم باختيار الجداول واحداً تلو الآخر واضغط
Add - اضافة ، وبعد الانتهاء اختر Close
- إغلاق .
سيظهر لك شكل كالتالي :



الآن من قائمة
Relationships - العلاقات ، اختر تحرير علاقة - Edit Relationship . سوف تظهر لك شاشة اختر منها Create New
.
سوف تظهر لك شاشة جديدة بالشكل التالي :



في خاصية
Left Table Name اختر الجدول الذي سيكون مصدراً للبيانات وهو عندنا Tb_Main

وفي الجزء الأيمن اختر
Tb_R1
وبالنسبة لخاصية
Left Column Name اختر الحقل الذي سيكون رابطاً من الجدول الرئيسي ، ولذا سنختار Number
وفي الجزء الأيمن سيكون الحقل أيضاً هو
Number .
وذلك بالشكل التالي :



قم الآن بالضغط على زر
Ok
وستظهر لك شاشة بالشكل التالي :



لاحظ ظهور نوع العلاقة في الجزء الأسفل من الشاشة .
أما بالنسبة لأزرار الاختيار :

1 - مربع الإختيار الأول : في هذا الخيار تحدد إذا ما كنت تريد منع المستخدم على ادخال حقل في الجدول الثاني دون أن يكون له نظير في الجدول الأول .
2 - مربع الإختيار الثاني : في هذا الخيار تحدد إذا ما كان تحديث بيانات الجدول الثاني عند تغيير قيم حقل المفتاح الرئيسي .
3 - مربع الإختيار الثالث : في هذا الخيار تحدد إذا ما كنت تريد حذف بيانات الجدول الثاني عند حذف نفس السجل في الجدول الرئيسي .

هناك زر آخر تحت اسم (
Join Type - نوع الدمج ) وبها ثلاث خيارات لأنواع مختلفة من الدمج .

والآن قم بالضغط على زر (
Create - إنشاء ) . ستلاحظ ظهور رسم لعلاقة بين الجدولين وذلك بالشكل التالي :



وبهذا نكون قد أنشأنا العلاقة الأولى من نوع
One To One
... في العلاقة التالية سوف نستخدم المعالج .
للتأكد من عمل هذه العلاقة اذهب إلى
Tb_Main وانقر علامة + الموجودة على يساره ... أتمنى أن يظهر لديك الشكل التالي :


سوف نقوم الآن بإنشاء العلاقة الخاصة بالسنة الدراسية ... لذا سوف نتجه إلى جدول
TB_Main ونضغط Design ومن ثم نذهب إلى الحقل Year ونختار Lookup Wizard
، وذلك بالشكل التالي :



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

في الشاشة الثالثة سوف يطلب اسماء الحقول التي نريد لها أن تظهر في الجدول ... سوف نختار
Year وذلك بالشكل التالي :



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

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



أيضاً اختر الجدول
Tb_R2
وانقر علامة + سيظهر لك جميع الطلبة الذين ينتمون إلى هذه السنة وذلك بالشكل التالي :



أخيراً سوف نلقي نظرة على شاشة العلاقات التي قمنا بتشغيلها في الدرس السابق ... سوف يظهر لك شكل قريب من التالي :



الملف المرفق يحتوي على جميع العلاقات اضافة إلى جميع محتويات الدروس السابقة ، والله الموفق ..

درس دورة الأكسيس : الدرس الرابع : العلاقات

أضف هذه المادة في موقعك:
مواد مشابهة:
الدوال في الاكسل الدوال في الاكسل
الدوال في الاكسل
(مرات المشاهدة: 6,319 مرات)
تصميم نموذج إدخال‎ ‎البيانات تصميم نموذج إدخال‎ ‎البيانات
تصميم نموذج إدخال‎ ‎البيانات
(مرات المشاهدة: 303 مرات)
أساسيات في Acces أساسيات في Acces
أساسيات في Acces
(مرات المشاهدة: 447 مرات)
الحقول في Access الحقول في Access
الحقول في Access
(مرات المشاهدة: 207 مرات)
استعلامات التحديد والمزيد من الأمثلة (2) استعلامات التحديد والمزيد من الأمثلة (2)
استعلامات التحديد والمزيد من الأمثلة (2)
(مرات المشاهدة: 195 مرات)
أساسيات في أساسيات في
أساسيات في
(مرات المشاهدة: 87 مرات)
استعلامات التحديد Select Query مع أمثله (1) استعلامات التحديد Select Query مع أمثله (1)
استعلامات التحديد Select Query مع أمثله (1)
(مرات المشاهدة: 210 مرات)
دورة الأكسيس : الدرس الأول : مقدمة عامة . دورة الأكسيس : الدرس الأول : مقدمة عامة .
دورة الأكسيس : الدرس الأول : مقدمة عامة .
(مرات المشاهدة: 207 مرات)
تصميم قاعدة البيانات والجدول تصميم قاعدة البيانات والجدول
تصميم قاعدة البيانات والجدول
(مرات المشاهدة: 249 مرات)
تصميم زر الإغلاق في النموذج! تصميم زر الإغلاق في النموذج!
تصميم زر الإغلاق في النموذج!
(مرات المشاهدة: 172 مرات)
fot
جميع الحقوق محفوظة :Copyright © All rights reserved