بسم الله الرحمن الرحيم
الشيء الذي لن تستطيع تجاهله عند تعلم قواعد البيانات هو لغة الاستفسار او الاستعلام و التي يعبر عنها بـ SQL ، فما هي الـ SQL ؟
-
SQL اختصار لـ Structured Query Language
-
SQL لغة ANSI قياسية
-
SQL تسمح لك بالوصول إلى قواعد البيانات ومن ثم التعامل معها
-
SQL تسمح لك باستخراج معلومات من قواعد البيانات
-
SQL تمكنك من إضافة سجل جديد إلى قاعدة البيانات
-
SQL تمكنك من حذف سجل من قاعدة البيانات
-
SQL تمكنك من تحديث سجل في قاعدة البيانات
-
SQL سهلة التعلم جداً جداً جداً
ماذا يعني أن لغة SQL هي لغة ANSI قياسية ؟
ANSI هي اختصار لـ (American National Standards Institute) ، اعتمد هذا المعهد لغة الـSQL لجعلها قياسية في التعامل مع جميع قواعد البيانات .
SQL تعمل مع جميع برامج قواعد البيانات مثل : ( MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase, وغيرها ) .
والآن بعد ان تعرفنا على ماهيّة الـSQL ، نأتي إلى الجداول في قواعد البيانات ، وننشيء سوياً قاعدة البيانات التي سيتم عليها الشرح خلال هذه الدورة إن شاء الله .
الجداول و قاعدة البيانات :
قاعدة البيانات دائماً تتكون من جدول أو أكثر ، لكل جدول اسم خاص به ، في كل جدول صفوف وأعمدة ، كل صف يمثل سجل في قاعدة البيانات وكل عمود يمثل حقل .
مثال : جدول الموظفين التالي - أحد الجداول التي سنعتمدها خلال الدورة إن شاء الله - :
|
DNO |
ADDRESS |
BDATE |
NUMBER |
LNAME |
FNAME |
|
5 |
731 MAKKAH,SA |
09/01/1980 |
11 |
علي |
محمد |
|
4 |
3321 JEDDAH,SA |
12/10/1982 |
22 |
أحمد |
خالد |
|
4 |
778 RYADE,SA |
01/08/1983 |
33 |
حمد |
محمد |
|
5 |
888 RYADE,SA |
02/03/1979 |
44 |
علي |
بدر |
الجدول السابق يحتوي أربع سجلات ( سجل لكل موظف ) وستة حقول وهي على الترتيب : ( الاسم الأول ، الاسم الأخير ، رقم الموظف ، عنوانه ، يوم ميلاده ، رقم القسم الذي يعمل فيه - DNO = Department_Number- ) .
لا بد أن يكون لكل جدول هام حقل مميز ، بحيث أن قيمة هذا الحقل في سجل ما داخل هذا الجدول يستحيل أن تتساوى مع قيمة نفس الحقل لسجل آخر في نفس الجدول .. هذا الحقل نطلق عليه المفتاح الرئيسي أو Primary Key ، ولعلك تتساءل الآن : ما فائدة المفتاح ؟
في أي قاعدة بيانات ، لكي نربط الجداول مع بعضها البعض في هذه القاعدة نحتاج إلى علاقات فيما بين هذه الجداول ؛ ولتكوين العلاقات نستخدم هذه المفاتيح ، بحيث أن حقلاً معيناً يوجد في جدولين مثلاً : الجدول الأول لا تتكرر قيمة هذا الحقل فيه لجميع السجلات ، بينما في الجدول الثاني يوجد هذا الحقل ولكن قد تتكرر أحدى قيمه .. .. إذن نختار هذا الحقل كمفتاح للجدول الأول ونربط بهذا المفتاح الجدولين .
ومن هنا نستطيع استرجاع المعلومات التي نريدها من أكثر من جدول باستخدام هذه العلاقات ..
سيساعدك العرض الفلاشي التالي إن شاء الله في فهم الموضوع بطريقة أكثر تنظيماً وعمقاً ، يوضح هذا العرض الثلاث جداول التي سنعتمدها خلال الدورة إن شاء الله والعلاقات فيما بينها ، هذه الجداول تابعة لقاعدة بيانات إحدى الشركات ، هذه الشركة لها قسمين ( 5و 4 ) وفي كل قسم يوجد مشاريع خاصة يعمل فيها الموظفون :
والآن نأتي للجزء الاكثر متعة في درس اليوم" الجزء العملي " : سننشيء معاً في الآكسس الآن معاً الجداول والعلاقات التي سيتم عليها شرح الدورة وطلب تنفيذ الواجبات ، على مرحلتين :
أولاً : وصف الجداول وبيانات كل جدول :
سندرس الإس كيو إل على هذه الثلاث جداول إن شاء الله
-
الجدول الأول جدول الموظفين EMPLYEE ، وهو الجدول الذي تحدثنا عنه قبل قليل ، مع ملاحظة ان الحقل NUMBER يعتبر المفتاح Primary Key لهذا الجدول .
-
الجدول الثاني هو جدول المشروع PROJECT وحقوله كالتالي، مع ملاحظة ان الحقلان PNUMBER & DNUM كل منهما عبارة عن مفتاح Primary Key لهذا الجدول :
|
DNUM |
PNUMBER |
PNAME |
|
5 |
1 |
المنتج س |
|
4 |
2 |
المنتج ص |
-
الجدول الثالث هو جدول العمال WORKS_ON وحقوله كالتالي :
|
HOURS |
PNO |
ENUMBER |
|
20.5 |
1 |
11 |
|
17.5 |
2 |
22 |
|
10 |
2 |
33 |
|
10 |
1 |
44 |
ثانياً : إنشاء الجداول والعلاقات خطوة بخطوة على الآكسس :
افتح برنامج الآكسس التابع للأوفيس ، ثم اطلب قاعدة بيانات جديدة باتباع المسار التالي : File Blank DataBase
ثم سمّي قاعدة البيانات هذه SQLDB مثلاً .
الآن نأتي إلى إنشاء الجداول وحداً تلو الآخر وتحديد المفاتيح فيها وتكوين العلاقات بينها ، كما يوضح العرض الفلاشي التالي :
بعد ذلك قم بتعبئة بيانات كل جدول كما وضحنا في المرحلة الأولى .. تذكر دوماً ان تنشئ العلاقات بين الجداول قبل أن تقم بتعبئتها بالبيانات ، و تذكر أن تكتب البيانات سليمة كي تستطيع متابعة الشرح وحل الواجبات معنا في هذه الدورة إن شاء الله :sport:
والآن ستوضح هذه الصورة المصطلحات العربية التي سنستخدمها في الشرح ، والمقابل لها باللغة الإنجليزية والتي ستجدها في الكتب أو على صفحات الانترنت التي تتحدث عن قواعد البيانات :
