موضوع: دروس للمفاهيم الأولية للغة SQL (مقتبس) الجمعة مارس 08, 2013 3:38 am
لغة الاستعلام القياسية SQL
– هذه الدروس للمفاهيم الأولية للغة الاستعلامات القياسية – - تشمل طريقة كتابة الاكواد في برنامج مايكروسوفت أكسس وMS SQL Server .
مقدمة تم أنتاجها حينما كانت هناك حاجة لتوحيد لغة برمجة تستخدمها أنظمة إدارة قواعد البيانات وذلك لتحقيق المزيد من التكامل والتوافق بين أنظمة إدارة قواعد البيانات المختلفة . ولذلك هي لغة التفاهم بين تطبيقك وبين أنظمة إدارة قواعد البيانات SQL اختصار إلى Structured Query Language ,
وأغلب البرامج الشهيرة هي تستخدم لغة SQL ولكن قد تختلف من برنامج إلى برنامج اختلافاتٍ يسيرة اللغة واحدة ولكن لها طرق متعددة ، فـ Access تختلف عن SQL Server قليلاً ، وتختلف بشكل أكبر عن Oracle ، وعن Mysql ، لكنها تتفق في الأساسيات في أشياء كثيرة .
ما الذي يمكنني فعله في الـ SQL ؟ تمكنك SQL بعمل الكثير مثل : 1- إنشاء جدول بالخصائص حسب احتياجك 2- اضافة حقول او حذف حقول بعد انشاء الجدول 3- تفريغ الجدول 4- حذف الجدول 5- ادخال المعلومات 6- تحرير المعلومات 7- حذف المعلومات 8- إنشاء قاعدة بيانات 9- حذف قاعدة بيانات 10- استخراج المعلومات
أقسام لغة SQL : تتكون من ثلاث أقسام ، كل قسم منها يمنحك القدرات اللازمة لأداء أمر معين وهي كالتالي:
1- لغة إدارة البيانات Data Manipulation Language وتختصر غالباً بـ DML وهي القسم المسؤول عن القيام بالوظائف الاساسية مثل ( الاستعلام ، والاضافة ، والتعديل ، والحذف ) بالنسبة للبيانات . وهي ما يهمنا ونقوم بشرحه في هذه الدورة
2- لغة تعريف البيانات Data Definition Language وتختصر بـ DDL وهي القسم المسؤول عن القيام بتعريف هيكل البيانات مثل ( إنشاء قواعد بيانات جديدة ، إنشاء الجداول ، حذف قواعد البيانات ) بالنسبة لتركيب قواعد البيانات والجداول .
3- لغة التحكم Data Control Language تختصر بـ DCL وهي القسم المسؤول عن التحكم في نظام إدارة قواعد البيانات مثل ( التحكم في النظام الأمني ، والتحكم من حساب مستعلم البيانات )
الاستعلام Select : يستخدم ألامر SELECT للاستعلام عن مجموعة من البيانات الموجودة بقاعدة البيانات وعرضها حسب نوع الاستعلام لو نفرض أن هناك جدول ( الموظفين Employee ) يحتوي على الحقول التالية : - الرقم الوظيفي ID - الاسم EName - الراتب Salary - تاريخ التعيين RegDate - القسم Department
ولو فرضنا أننا قمنا بمليء هذا الجدول حسب البيانات التالية :
نقوم الآن بشرح وطريقة استعمال SELECT ، علماً بأنني سوف أقوم بشرح كيفية استخدام الأوامر عن طريق برنامج مايكروسوفت أكسس لتطبيق الأوامر ( بعد هذا الدرس مباشرة إن شاء الله تعالى .
- الأمر التالي يقوم بالاستعلام وعرض جميع البيانات في جدول الموظفين Employee
كود: SELECT * FROM Employee
- أمر الاستعلام عن جميع الموظفين ولكن نريد حقول محددة فقط مثل الرقم الوظيفي ID واسم الموظف EName
كود: SELECT ID , EName FROM Employee
ملاحظة مهمة : يمكننا تسمية الجداول والحقول بأسماء عربية ولكن بوضع جميع السماء العربية بين الأقواس [ ] كما في المثال التالي :
هناك استعلامات تكون بشروط محددة فمثلاً لو أردنا أن نقوم بالاستعلام عن الموظفون الذين يأخذون راتب معين هنا نستخدم شرط الاستعلام WHERE كالتالي :
[b]كود: SELECT ID, EName, Salary FROM Employee WHERE Salary = 8000
وهنا نتيجة الامر السابق كما يمكننا التحكم أكثر في أمر شرط الاستعلام ، باستخدام المعاملات المنطقية مثل <> ، AND و OR فمثلا لو أردنا نستعلم عن الموظفين الذين رواتبهم أكبر من 8000 وبقسم الإدارة Management :
[b]
كود: SELECT ID, EName, Salary FROM Employee WHERE Salary > 8000 AND Department = 'Management'
[b] وهنا نتيجة الاستعلام السابق يمكننا استخدام الكلمة المحجوزة LIKE للبحث عن اسم معين داخل جدول البيانات ، فمثلا للاستعلام والبحث عن جميع الموظفين الذي تحتوي اسماؤهم على ( محمد ) كما يلي :
كود: SELECT ID , EName FROM Employee WHERE EName LIKE 'محمد'
[b]وهنا نتيجة الاستعلام السابق
وهنا أمر يقوم بترتيب البيانات حسب حقل محدد
كود: SELECT ID , EName FROM Employee WHERE Salary BETWEEN 7000 AND 1000 ORDER BY Department
[b]وهنا نتيجة الامر السابق وسوف تكون لنا عودة بشكل أكبر على الجمل والاوامر المتقدمة لأمر SELECT
طريقة كتابة أوامر SQL عن طريق مايكروسوفت أكسس 2007 سوف اقوم هنا بتوضيح طريقة كتابة أكواد SQL عن طريق برنامج ماسكروسوفت أكسس النسخة 2007 . - لنفرض في البداية أننا قمنا بإنشاء جدول ( الموظفين Employee ) عن طريق البرنامج لكي نقوم بعرض النتائج . ولمعرفة كيفية إنشاء الجداول بمايكروسوفت أكسس بشرح سابق : عن طريق الصور .. اضغط هنا عن طريق الفيديو .. اضغط هنا
الإضافة INSERT : يمكننا إضافة سجل جديد Record إلى جدول البيانات باستخدام أمر الإضافة INSERT وهنا الكود التالي لإضافة بيانات موظف جديد في جدول ( الموظفين Employee ) :
التعديل Update : تستخدم جملة أو أمر التعديل UPDATE لتعديل بيانات سجل ما في جدول البيانات وذلك عن طريق اضافة شرط محدد باستخدام WHERE . فمثلا نريد تعديل راتب الموظف اللي رقمه ( 3 ) في جدول ( الموظفين Employee )
ولاحظ الجدول هنا قبل التعديل :
نقوم بتنفيد امر التعديل كما يلي :
كود: UPDATE Employee SET Salary = 10000 WHERE ID = 3
أمر OR : احيان نحتاج أمر يكون خيار بين شرطين أحدهما يتحقق هنا نستخدم أمر OR : فمثلاُ لو أردنا أن نستعلم من خلال جدول الموظفين عن موظف اسمه Ahmad أو Ali
نستخدم الكود التالي :
كود: SELECT * FROM Employee WHERE EName='Ahmad' OR FirstName='Ola
‘
سوف تكون النتيجة : هي Ahmad لأن أحد الشرطين تحقق بينما Ali ليس موجود ضمن القائمة الموظفين
أمر AND : ونستخدم هذا الأمر إذا أردنا تحقيق أكثر من شرط معاً ، يعني لو تحقق أحدهما دون الأخر لا يتم تنفيذ الاستعلام . فمثلاً لو أدرنا الاستعلام عن موظف اسمه ( Omar ) وراتبه يكون أعلى من 1000 كما في المثال التالي :
كود: SELECT * FROM Employee WHERE EName='Omar' AND Salary>1000
سوف تكون النتيجة : لا شيء لأن Omar موجود ولكن راتبه ليس أكبر من 1000 لذا لن يتم تحقيق الاستعلام
وكذلك نستطيع أن نستخدم الأمرين معاً : فمثلاً لو أردنا أن نستعلم عن موظف اسمه Omar وشرط أخر ( يكون راتبه 9000 أو 1000 )
كود:
SELECT * FROM Employee WHERE EName='Omar' AND (Salary=1000 OR Salary=9000)
سوف تكون النتيجة : الموظف Omar لأنه تحقق أحد شرطي OR .
وباستخدام هذه الاوامر نستطيع أن نستعلم عن بيانات أكثر دقة .
كل ما ذكرناه أعلاه هو التعامل العام مع الجداول في قاعجة البيانات وتم البدء بالشرح والدخول في جمل الاستعلام حتى لا نتظر للمقدمات المملة
الآن دعونا نعود للوراء قليلاً .. ونستعرض أوامر أخرى في تركيب قاعدة البيانات وإنشاءها من الصفر .. وكذلك بعض البرامج الشهيرة لها :
كود إنشاء قاعدة بيانات : لنفرض أننا نريد إنشاء قاعدة بيانات باسم Employment كود:
<blockquote> CREATE DATABASE Employment </blockquote> بعد إنشاء قاعدة البيانات يجب علينا أن نقوم بإنشاء جدول .. فالجدول هو أساس أي قاعدة بيانات وترتكز عليه جميع البيانات والاستعلامات والاوامر فهي جميعها تتعامل مع الجدول بالأساس .
طريقة إنشاء جدول : لو نفرض أن هناك جدول ( الموظفين Employee ) يحتوي على الحقول التالية : - الرقم الوظيفي ID - الاسم EName - الراتب Salary - تاريخ التعيين RegDate - القسم Department
<blockquote>كود:
CREATE TABLE Employee ( ID int, EName varchar(255), Salary int, RegDate date, Department varchar(255), )
طبعاً كما تلاحظون أننا استخدمنا أمام كل حقل ( نوع البيانات ) وهو يدل على نوع الحقل المراد استخدامه . ولإنشاء جداول كبيرة وقوية يجب عليك معرفة أنواع البيانات ولها أهمية كبيرة في إنشاء الجداول سواءاً في أداء عملها أو استخدام موارد الجهاز مثل الذاكرة وغيرها فمثلا نوع البيانات varchar(255) يقوم بتخزين 255 حرف في الذاكرة للاسم وكلّما حددنا عدد الاحرف كلّما اصبح أداء قاعدة البيانات أسرع . </blockquote> وسوف اسرد أشهر أنواع البيانات في SQL في الدرس التالي ..