منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مفاتيح العلاقة بين جدولين بال Sql server - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : Microsoft SQL Server (http://vb4arb.com/vb/forumdisplay.php?fid=171)
+--- الموضوع : مفاتيح العلاقة بين جدولين بال Sql server (/showthread.php?tid=26670)



مفاتيح العلاقة بين جدولين بال Sql server - عبد العزيز البسكري - 26-09-18

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



RE: مفاتيح العلاقة بين جدولين بال Sql server - elgokr - 27-09-18

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

افضل مساحة لهذا الموضوع ان يكون بقسم Sql Server  Big Grin
ليكون النقاش عامة على هذا المجال

فى البدابة FK هو اختصار لـ FOREIGN KEY
ويمكنك الاطلاع على ذلك من الرابط التالى
https://www.w3schools.com/sql/sql_foreignkey.asp

وطريقة الانشاء بيكون من خلال كلك يميم على مجلد Keys
ومن ثم انشاء FK طيب كيف اتمكن من المعرفة اكثر عن الامر 
راجع الرابط التالى شرح فيديو
https://www.youtube.com/watch?v=TpKcAmaaBts

يمكنك البداء عند الدقيقة 9

تحياتى لك
وتمنياتى لك التوفيق



RE: مفاتيح العلاقة بين جدولين بال Sql server - عبد العزيز البسكري - 27-09-18




RE: مفاتيح العلاقة بين جدولين بال Sql server - mero5000 - 27-09-18

وعليكم سلام الله

بالظبط استاذ عبد العزيز هو بينج نفسه لما بتحصل علاقة
فى اكتر من طريقة لعمل العلاقة بين الجدول منها ما ذكرها استاذ الجوكر

هعطيك مثال :

عندنا جدول مدن وجدول اشخاص
عاوزين نعمل بينهم علاقة يبقى العلاقة هتكون جدول يعتمد على جدول اخر
الافتراضى ان الاشخاص بيعيشو داخل المدن او جدول الاشخاص يعتمد على جدول المدن
او بمعنى اخر ان المدن بمفتاح اساسى و الاشخاص بمفتاح اجنبى
ليكون كالتالى

Tbl_town
Id
TownName
idPerson
=============
Tbl_Person
Id
PersonName
==============
كمان يا استاذنا لازم يكون الحقلين المربوطين بنفس Data Type
ومش شرك يكونو int
ممكن تربط بـ nvarchar Or Date
======================
يجب ظبط ال cascade
عشان لو هتعدل شيئ يسمح فى الجداول الاخرى او هتمسح مدينة يمسح الاشخاص الى بيها وهكذا

الامر كبير استاذنا دى فقط بدايات والسكول مانجمينت بيتم تطويره بشكل كبير بكل اصدار والامر لا يقتصر على بناء الجداول والعلاقات وتخزين البيانات

الله يوفقكم يارب


RE: مفاتيح العلاقة بين جدولين بال Sql server - عبد العزيز البسكري - 27-09-18

السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك و جزاك خير الجزاء أخي و أستاذي الكريم "mero5000 " على الشّرح و التّوضيح
صدّقني يا طيب لست بحاجة لإمكانيات ال sql server .. لا الكبيرة و لا الصغيرة و لا لبناء العلاقات بمفاتيح صفراء ذهبية و لا تلك السّوداء القصديرية .. فقط رغبة منّي لفهم بعض المباديء الأساسيّة .. و هذا يكفيني
المشكلة أخي الكريم .. حاولت منفردًا و لكن ما ضبطت إطلاقا بسبب عدم ظهور لي مؤشّر الضغط لإختيار الجداول مثلما تشير الصّورة
وإكتشفت ذلك فقط حين مشاهدة فيديو اليوتوب المقدّم رابطه من طرف أساتذنا الفاضل " elgokr "
بارك الله فيكما و لكما و جزاكما خير الجزاء و أحسن إليكما و لوالديكما بالدنيا و الآخرة و لكل مَنْ تحبان



RE: مفاتيح العلاقة بين جدولين بال Sql server - elgokr - 27-09-18

وعليكم السلام ورحمة الله 

فقط قم بالوقوف على Tables And Columns Specificatioc

كما فى الصورة وستظهر معك


تحياتى لك
وتمنياتى لك التوفيق



RE: مفاتيح العلاقة بين جدولين بال Sql server - mero5000 - 27-09-18

والخيار الاخير الى اسمه
inser and update specifiction
الخاص بصورة الاستاذ الجوكر خاص بما ذكرته سابقا عن ::

إقتباس :يجب ظبط ال cascade
عشان لو هتعدل شيئ يسمح فى الجداول الاخرى او هتمسح مدينة يمسح الاشخاص الى بيها وهكذا

الامر كبير استاذنا دى فقط بدايات والسكول مانجمينت بيتم تطويره بشكل كبير بكل اصدار والامر لا يقتصر على بناء الجداول والعلاقات وتخزين البيانات

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


RE: مفاتيح العلاقة بين جدولين بال Sql server - elgokr - 27-09-18

بما اننا فتحنا نقاش عن ذلك
اضافة للاخ mero5000 

فكرة المفتاح هى بتسهل عليك عملية الاضافة والتعديل
بحيث كما وضح الاخ mero5000  فى رده مسبقاً
عن نقطة الاستخدام كما لو لديك

جدول مدن وجدول اسخاص
فمثلاً كل مدينة تحتوى على رقم 10 و 20 و 30 مثلاً
تعال فى جدول الضخ وضيف رقم لا يكن موجود فى جدول المدن
مثلا 11 ولا 40 او اى رقم ستجد انه رفض الاضافة او التعديل
وده وظيفة المفتاح عدم ادخال وليس تكرار عدم ادخال اى رقم غير موجود فى الجدول الرئيسي

اى كان بقي رقم نص تاريخ ... الخ
امرها جميلة جداً ولكن للاسف قد يصل الى 10% وقد يكون اقل من العرب يستخدم بناء قاعدة البينات بصورة صحيحة
تسهل عليه مجهود كبير فى الاكواد عند البرمجة

من مدة كنت عملت عملية ربط بنفس الفكرة ولكن كانت قاعدة بيانات Access
لا اتذكر الموضوع او من صاحبه لكنت وضعته لك هنا لتوضح الفكرة اكثر
سبحان الله يبدو ان صاحب الموضوع اضف موضوع مكنى من وصول لما اققصده من مثال فى الرابط التاى
http://vb4arb.com/vb/showthread.php?tid=26355&pid=126887#pid126887

تحياتى لك
وتمنياتى لك التوفيق