العلاقات لغة الاستعلامات البنيويه قواعد البيانات
اعتقد ان قاعدة بيانات ذات الصلة اللاعبين في لعبة واحدة الى اخرى (على سبيل المثال ، لتحديد من هو صديق كل لاعب والذي كان عدوا لكل لاعب). أولا دعنا اصنع جدولا لتخزين البيانات بالنسبة لكل من اللاعبين. مهلة اضافية من المفتاح الاساسي ، الذي يتيح لك ان تعتمد على حقيقة ان جميع الصفوف قد فريدة الميدانيه التي يمكن استخدامها كمرجع. كما نلاحظ أن كل صف من البيانات في المفتاح الاساسي يجب ان تكون فريدة من نوعها لاحد آخر. هنا هو البيان المطلوب لخلق قاعدة بياناتنا) دعا gamedata) ونحن playerdata الجدول. الخلية> انشاء قاعدة بيانات gamedata ؛ الخلية> استخدام gamedata ؛ الخلية> انشاء الجدول playerdata) --> اسم المستخدم شار (255) ليست فريدة من نوعها لاغيه ، و--> كلمة السر شار (255) ، --> عصر دولي ، --> datecreated الزمني ، --> المفتاح الأساسي (اسم المستخدم)) ؛ أشعار هنا كيف نحدد اسم المستخدم العمود ليست فريدة من نوعها ، وايضا لاغيه. بعبارات بسيطة ، وهذا يعني انه يجب ان يحتوي على قيمة ، وقيمة يجب ان لا تكون هي نفس اسم المستخدم اية أخرى في اي مكان آخر سجل في الجدول. نلاحظ أيضا ان نكون قد حدد المفتاح الاساسي من الجدول ان يكون اسم المستخدم المجال ، كما اننا سوف يبحث اساسا عن هذا الميدان ، والتي سترى في اي لحظة. وبالاضافة الى هذه المعلومات ، ونحن بحاجة ايضا الى طريقة تخزين بعض الاصدقاء والاعداء. ويتم ذلك عن طريق وصلة الجدول. وصلة الجدول حقا هو مجرد قاعدة بيانات الجدول العادي ، ولكن هدفه الرئيسي هو ربط البيانات بشكل او بآخر للحفاظ على الفضاء والطريقة المثلى للوصول قاعدة بيانات المعلومات. دعنا خلق ربط الجداول اثنين ، واحد للالمتصله لاحد الاصدقاء والاعداء المتصله ببعضها البعض. فيما يلى البيانات التي يلزم اتخاذها لانجاز ذلك.
الخلية> انشاء الجدول relatefriends) --> اعب شار (255) ، --> صديق شار (255)) ؛ أيضا : الخلية> انشاء الجدول relateenemies) --> اعب شار (255) ، --> العدو شار (255)) ؛ واذا كنا الان تبين الجداول في قاعدة البيانات مع القيادة التالية : الخلية> تبين الجداول ؛ ... يمكننا ان نرى الان لدينا قاعدة بيانات تحتوي على ثلاثة جداول مختلفة - لدينا playerdata الجدول وهما ارتباط الجداول. دعنا الان اضيف عينة من البيانات لاعب بيانات الجدول ، حتى نتمكن من التجربه مع ربط الجداول ونفهم منطق كيفية استخدامها بفعاليه. هنا هو البيان المطلوب لدينا لإضافة بيانات العينه الى playerdata الجدول : الخلية> تضاف الى القيم playerdata --> ( 'اندرو' ، 'qwerty' ، 20 ، لاغيه) ، --> ( 'هنري' ، 'letmein' ، 34 ، لاغيه) ، --> ( 'ساندرا' ، 'dra33' ، 19 ، لاغيه) ، --> ( 'جون' ، 'j12d' ، 23 ، لاغيه) ، --> ( 'جيني' ، 'jen123' ، 34 ، لاغيه) ؛ اذا قمنا باختيار كل المعلومات من الجدول playerdata الآن استخدام الأمر التالي : الخلية> اختيار * من playerdata الان ان لدينا بعض نماذج البيانات ، دعنا نحاول ايجاد بعض العلاقات بين اللاعبين في قاعدة البيانات. الاولى اضافة الى ربط الجدول relatefriends ان هنري هو اصدقاء مع ساندرا. هنا هو البيان المطلوب لاضافة هذا الى ربط الجدول : الخلية> تضاف الى القيم relatefriends --> ( 'هنري' ، 'ساندرا') ؛ دعنا الآن ان اضيف بعض البيانات الى نماذج اكثر من كل relatefriends وrelateenemies ربط الجداول ونرى كيف يمكننا التلاعب في البيانات. البيانين المطلوب اضافته في عينه البيانات ادناه :
الخلية> تضاف الى القيم relatefriends --> ( 'اندرو' ، 'هنري') ، --> ( 'اندرو' ، 'جون') ، --> ( 'اندرو' ، 'جيني') ، --> ( 'ساندرا' ، ' جيني ') ؛ وأيضا : الخلية> تضاف الى القيم relateenemies --> ( 'اندرو' ، 'ساندرا') ، --> ( 'هنري' ، 'جيني') ، --> ( 'هنري' ، 'جون') ؛ الآن وقد اصبح لدينا جميع اعمالنا بيانات العينه ، ودعنا نرى ما اذا كان يمكننا معرفة ما الذي هو اصدقاء مع اندرو باستخدام البيان الآتي : الخلية> اختر صديقك من relatefriends فيها لاعب = 'اندرو' ؛ عندما نقوم بتنفيذ هذا البيان ، console يعرض قائمة بأسماء جميع اللاعبين ان اندرو هو مع الاصدقاء. ومرة اخرى ، نستطيع ان نفعله بالضبط نفس مع relateenemies ربط الجدول. على سبيل المثال ، يمكننا ان اكتشف كل من هنري أعداء مع البيان الآتي : الخلية> اختيار العدو من حيث relateenemies اعب = 'هنري' مع هذه البيانات ، واذا كنا ثم اراد الحصول على المزيد من المعلومات عن العدو ان هنري قد اسم المستخدم من جيني ، ونود أن استخدام البيان الآتي : الخلية> * اختر اسم المستخدم من حيث playerdata = 'جيني' ؛ هذا هو مقال اضافها جورج ionescu
|
|||||||||
|