Professional Documents
Culture Documents
سرا حقًا) وراء نجاح SQLكلغة.تتيح في الدرس التالي ،ستتعلمون حول JOIN.وهذه هي السر الحقيقي (حسنًا ،ليس ً
لنا JOINدمج عدة جداول معًا.ستظل جميع العمليات التي تعلمناها هنا مهمة أثناء مضينا قد ًما ،لكن سنكون قادرين على
اإلجابة عن الكثير من األسئلة األكثر تعقيدًا عن طريق دمج معلومات من عدة جداول!لقد أتقنتم بالفعل كتابة األكواد التي
يحتمل أن تكون األولى لكم ،وأصبحتم أفضل بكثير!
1.هل تخزن الجداول مجموعات منطقية من البيانات؟ .2هل يمكنني التغيير في موقع واحد ،بدالً من تغيير المعلومات
نفسها في عدة جداول؟ .3هل يمكنني الوصول إلى البيانات ومعالجتها بسرعة وفعالية؟
سيركز هذا الدرس بأكمله على عبارات JOIN.يتمثل الهدف األساسي من عبارات JOINفي السماح لنا بسحب البيانات
من أكثر من جدول في آن واحد.
ً
أمرا بسيطا ومه ًما في
أكرر ثانية -تعد عبارات JOINمفيدة حيث تسمح لنا بسحب البيانات من عدة جداول.ويعد هذا ً
الوقت ذاته.
بإضافة عبارة JOINإلى مجموعة األدوات ،سنضيف أيضًا عبارةON.
ماذا تالحظون
يمكننا سحب البيانات من جدولين:
1.األوامر 2.الحسابات
يمكننا سحب البيانات من جدول األوامر أعاله.
تربط عبارة ONالعمودين المرتبطين من خالل الجدولين.وسيكون هذا محور تركيزنا في المفاهيم التالية.
أسئلة االختبار.
1.حاولوا سحب كل البيانات من جدول حسابات ،وكل البيانات من جدول أوامر.
الحلول
1.
مفاتيح
المفتاح األساسي)(PK
المفتاح األساسي هو عمود فريد في جدول معين.هذا هو أول عمود من كل الجداول التي معنا.يُطلق على هذه األعمدة
اسم المعرف ،لكن ليس بالضرورة أن يكون هذا هو االسم.من الشائع أن المفتاح األساسي هو العمود األول من كل جدول
في معظم قواعد البيانات.
المفتاح الخارجي)(FK
المفتاح الخارجي هو عندما نشاهد مفتا ًحا أساسيًّا في جدول آخر.يمكننا استخدامها في عالقة مخطط الكيانات)، (ERD
تُقدم المفاتيح الخارجية في صورة:
1.region_id 2.account_id 3.sales_rep_id
:يرد في الصورة التالية مثال للتوضيح.حيث يرتبط كل منها بـ المفتاح األساسي من الجدول اآلخر
QUESTION 1 OF 3
There might be more than one primary key for a table.
They are a row in a table.
Every database only has one primary key for the whole database.
In the above database, every foreign key is associated with the crow-foot notation, which suggests
it can appear multiple times in the column of a table.
QUESTION 3 OF 3
They are unique for every row in a table.
Every table must have a foreign key.
A table can only have one foreign key.
In the above database, every foreign key is associated with the crow-foot notation, which suggests it can
appear multiple times in the column of a table.
ربط أكثر من جدولين
يمكن أن يساعدكم هذا المنطق ذاته في ربط أكثر من جدولين م ًعا.انظروا إلى الجداول الثالثة التالية.
الكود
يمكننا استخدام المنطق ذاته إذا أردنا ربط هذه الجداول الثالثة.
FROM web_events
JOIN accounts
ON web_events.account_id = accounts.id
JOIN orders
ON accounts.id = orders.account_id
يمكن أن تسحب عبارة SELECTالبيانات من أي جدول من الجداول الثالثة اآلن.أكرر ،تربط عبارة JOINالجدول،
كما أن ONرابط لـ PKليساويFK.
ستحتاج عبارة SELECTإلى تحديد الجدول التي ترغب في سحب العمود منه:
SELECT web_events.channel, accounts.name, orders.total
يمكننا مواصلة العملية نفسها لربط كل الجداول إذا أردنا.ألسباب تتعلق بالكفاءة ،قد ال نرغب في عمل ذلك ما لم نحتاج
إلى معلومات من كل الجداول.