‏إظهار الرسائل ذات التسميات SQL. إظهار كافة الرسائل

ماهى لغة SQL ومصارد للتعلم

0 التعليقات


لغة الاستعلام البنائية و بالإنجليزية Structured Query Language أو كما تعرف إختصارا بـ SQL ، هي لغة برمجة تستخدم للتعامل مع قواعد البيانات و تعتمد عليها كافة التطبيقات التي تتعامل مع قواعد البيانات و تعتبر لغة SQL لغة غير إجرائية أي أنها لغة خاصة بقواعد البيانات فقط .

تعتبر لغة SQL من اللغات القياسية الخاصة بمعهد ANSI ، و تمكنك لغة SQL من الدخول إلي قواعد البيانات و استخراج البيانات من القاعدة و إضافة و حذف البيانات من القاعدة و التعديل علي البيانات المسجلة .

تعتبر لغة SQL قريبة جدا من اللغة الإنجليزية فهي سهلة جداً في التعلم ولا تحتاج الي حفظ جمل كثيرة أو معقدة مثل بعض لغات البرمجة و لكنها تحتاج إلي تفكير عميق جدا في الربط بين الجداول و البيانات ، و فيما يلي بعض المصادر باللغة العربية و اللغة الإنجليزية لتعلم هذه اللغة .

مصادر باللغة العربية :
جاري العمل حاليا علي إيجاد أفضل المصادر الموثوقة لتعلم اللغة .

مصادر باللغة الإنجليزية :
W3schools : من أفضل المواقع الإنجليزية التي تقدم مجموعة من الدروس الخاصة بلغات برمجة المواقع ، فهو يتميز بطريقة شرح سهلة للدروس و غير معقدة .
رابط الدورة : هنا
Tutorialspoint : موقع رائع يتميز بسهولة عرضة للدروس و التدرج في صعوبتها و طريقة شرحه السلسة في الدروس .
رابط الدورة : هنا
Tizag : موقع رائع يتميز بطريقة شرح سهلة و سلسة للدروس .
رابط الدورة : هنا

تابع القراءه »

Learn Sql Step by Step Arabic - كتاب تعلم اس كيو ال خطوة بخطوة

0 التعليقات


اولا: ما هو اس كيو ال او السكوال او SQL

لغة الاستعلامات البنائية (Structured Query Language أو SQL) (لغة قواعد البيانات)هي لغة برمجة غير إجرائية Non Procedural Language، وهي بذلك تختلف عن لغات البرمجة المعتادة مثل سي أوجافا، حيث أن اللغات غير الإجرائية هي لغات متخصصة. ولذلك فإن تركيب لغة الاستعلامات البنائية هي لغة للتعامل والتحكم مع قواعد البيانات المترابطة من خلال التعامل مع تراكيب البيانات وإجراء عمليات إدخال البيانات والحذف والفرز والبحث والتصفية و التعديل وخلافه.

تاريخ تطوير لغة الاستغلامات البنائية

في يونيو 1970 نشر العالم البريطاني إدجار كود ورقة علمية بعنوان "نموذج مترابط للبيانات في مستودعات البيانات الضخمة المشتركة A Relational Model of Data for Large Shared Data Banks" قدم فيها نموذجا لإنشاء وإدارة قواعد البيانات عرف باسم نموذج قاعدة البيانات المترابطة Relational Database Model، ووفقا لهذا النموذج يتم الاحتفاظ بالبيانات في جداول متفرقة ترتبط فيما بينها بعلاقات. حقق نموذج قاعدة البيانات المترابطة نجاحًا سريعًا بين المختصين، لكنه كان من الصعب التعامل مع هذا النموذج من خلال لغات البرمجة المألوفة آنذاك مثل لغة سي ولغة بيزيك، لذلك سعى المختصون في ابتكار لغة برمجة جديدة تكون قادرة على إنشاء قواعد البيانات والتعامل معها وفق نموذج قاعدة البيانات المترابطة. قامت جماعة من الباحثين في مختبرات شركة IBM بإنتاج أول لغة برمجة تحقق هذا الهدف وأطلقوا عليها الاسم SEQUEL وهذا اللفظ اختصار لعبارة اللغة الإنجليزية للاستعلامات البنيوية Structured English Query Language لكنهم تخلوا عن هذا الاسم سريعًا عندما اكتشفوا أنه علامة تجارية لشركة بريطانية تعمل في حقل الطيران واستبدلوه بالاسم الذي أصبح مستخدم حتى اليوم وهو تركيب لغة الاستعلامات البنائية SQL. قامت شركة IBM باستخدام تركيب لغة الاستعلامات البنائية في إنتاج عدد من نظم إدارة قواعد البيانات المترابطة وتوزيعها مثل النظام System R والنظام System/38 والنظام SQL/DS وأخيرًا النظام DB2. لكن النظام الذي حقق النجاح الأكبر هو النظام الذي اعتمدته شركة أوراكل Oracle وحمل اسمها والذي طرحته لأول مرة عام 1979. منذ ابتكار لغة الاستعلامات البنيوية في مطلع السبعينات، خضعت للعديد من التعديلات والتطويرات، كما قامت العديد من الشركات والمؤسسات البحثية بتصميم نسختها الخاصة من تركيب لغة الاستعلامات البنائية، ولمجابهة هذا الموقف قام المعهد الوطني الأمريكي للمعايير American National Standards Institute ANSI بإصدار أول نسخة معيارية من تركيب لغة الاستعلامات البنائية عام 1987 وهي التي عرفت باسم SQL1987، ثم توالت التعديلات والطبعات المعيارية، وحاليًا فإن اللغة المعيارية المعتمدة هي SQL2003.

تركيب لغة الاستغلامات البنائية

تتركب لغة الاستعلامات البنائية من عدد من الكلمات المحجوزة، ويمكن تقسيم هذه الكلمات المحجوزة تبعًا لوظائفها التي تقوم بها إلى ثلاثة أقسام رئيسة هي:

لغة تعريف البيانات (Data Definition Language (DDL
لغة معالجة البيانات (Data Manipulation Language (DML
لغة التحكم بالبيانات (Data Control Language (DCL


لغة تعريف البيانات (Data Definition Language (DDL

لغة تعريف البيانات هي مجموعة من الكلمات المحجوزة التي تقوم بإدارة الكائنات في قاعدة البيانات سواء بالإنشاء أو التعديل أو الحذف وتشتمل هذه المجموعة على الكلمات المحجوزة التالية:
ALTER DATABASE
ALTER TABLE
CREATE DATABASE
CREATE INDEX
CREATE TABLE
DROP DATABASE
DROP INDEX
DROP TABLE
RENAME TABLE



لغة معالجة البيانات (Data Manipulation Language (DML

وهى اللغة الخاصة بالتعامل مع البيانات ذات نفسها داخل قواعد البيانات من استعلام (select) أو حذف بيانات (Delete) أو تحديث بيانات (update) أو ادخال بيانات جديدة (Insert).


لغة التحكم بالبيانات (Data Control Language (DCL

وهي اللغة الخاصة بمنح المستخدمين صلاحيات معينة مثل :
GRANT : وتستخدم لمنح المستخدمين صلاحيات معينة لأداء مهام معينة.
REVOKE : وتستخدم لإلغاء الصلاحيات التي تم منحها بالأمر السابق.
ويمكن السماح للمستخدمين بمثل الصلاحيات الآتية:
CONNECT
SELECT
INSERT
UPDATE
DELETE
EXECUTE
USAGE


النظم التي تدعم لغة الاستعلامات البنيوية
تصمم معظم نظم أدارة قواعد البيانات المترابطة بحيث تكون متوافقة مع لغة الاستعلامات البنائية، ويعتبر التوافق مع النسخة المعيارية للغة الاستعلامات البنائية ANSI SQL من الميزات التي تحقق بها النظم شعبيتها. تضم هذه النظم عدد كبير من البرمجيات بعضها ذات سمعة كبيرة وبعضها الآخر قد لا يزيد عدد مستخدميه عن مطوريه وأصدقائهم. أهم هذه النظم هي:

  • أوراكل من الشركة المعروفة بنفس الاسم (Oracle)
  • ماي إس كيو إل (MySQL) 
  • ميكروسوفت إس كيو إل سيرفر (SQL Server)
  • DB2 من شركة آي‌ بي‌ إم 

ثانيا: تحميل كتاب تعلم اس كيو ال خطوة بخطوة Learn Sql Step by Step


تابع القراءه »

الفرق بين لغة SQL ولغة PL/SQL (اوراكل)

0 التعليقات

كتير مننا لما بنبدأ نتعلم تكنولوجيا جديدة بتكون فى بعض المصطلحات و المفاهيم مختلطه علينا مثلا فيه ناس بتخلط بين لغة javascript و لغة java لمجرد التشابه فى الاسم رغم اللاختلاف التام بين اللغتين

و من ضمن اكتر الحاجات اللى بتلخبط اى اوراكلاوى جديد هو السؤال المصيرى ايه الفرق بين SQL و PL/SQL

تعريف لغة ال SQL

هى لغة موجهة للتعامل مع البيانات و بالتحديد مع قواعد البيانات العلائقية relational databases و من المفترض انها لغة نموذجية او standard بمعنى انها لغة موحده يمكن استخدامها بنفس الشكل مع جميع قواعد البيانات

كلمة SQL هى اختصار ل Structured Query Language او لغة الاستعلام البنيوية و بالمناسبه لو سمعت مبرمج بيقولك ايه هو ( السيكوال ) ماتتخضش لأن ده من اكتر الاسامى الدارجه و المتداولة بين المبرمجين و رد علية بكل ثقة و قوله سيكوال يعنى SQL و من دلوقتى لأخر الدرس انا هاستخدم كلمة سيكوال عشان تاخد عليها


ملحوظة : نتيجه للتنافس بين مصنعى قواعد البيانات و اختلاف كل قاعدة بيانات عن منافسيها فظهرت بعض الاختلافات فى لغة السيكوال و لكن الاختلافات دى فى اغلبية الحلات اختلافات بسيطه

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

تعريف لغة ال PL/SQL

هى لغة برمجة اجرائية procedural programming language من الجيل الرابع , هى لغة البرمجة الاساسية لقواعد البيانات اوراكل و بتستخدم عادة مع لغة السيكوال لكتابة برامج للتعامل مع اوراكل

ملحوظة: لغة PL/SQL بعكس السيكوال ليست لغة نموذجية بمعنى انها خاصه بقواعد البيانات اوراكل فقط و مش ممكن تستخدمها مع اى قاعدة بيانات اخرى

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

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

لو اخدنا المثال ده و طبقناه على السيكوال و الPL/SQL هانلاقى ان العامل القوى ده هو السيكوال حيث ان البينات (البضاعة) موجوده فى قاعدة البينات (المخزن) فى جداول (الرفوف) و السيكوال هو اللى بيتعامل مع البينات بشكل مباشر بس السيكوال ليه سقف مايقدرش يتخطاه مثلا السيكوال لوحده مايقدرش يقوم بعمليات معقده منطقية او حسابية فى حين ان PL/SQL (مدير المخازن) بيعوض نقاط ضعف السيكوال و لكن على الرغم من كده ال PL/SQL بدون سيكوال غير فعال و نقدر نقول ان العلاقه بينهم علاقه تكميلية يعنى بيكملوا بعض

الخلاصه

SQL لغة للتعامل مع البيانات من حيث تخزينها و استرجاعها الخ... (العضلات)
PL/SQL لغة برمجة يمكن من خلالها عمل عمليات حسابية و منطقية على البيانات (المخ)

اوجه التشابه بين السيكوال و ال PL/SQL

1- لغتين اساسيتين للتعامل مع قواعد البيانات اوراكل
2- يمكن استخدامهم فى مزيج حيث اللغتين يكمل كل منهم الاخر

اوجه الاختلاف بين السيكوال و ال PL/SQL

1- لغة السيكوال هى لغة نموذجية او Standard فى حين ان PL/SQL لغة خاصة بأوراكل فقط
2- لغة السيكوال تملك امكانيات هائلة فى التعامل مع البيانات و لكن لها حدود او limitations
3- فى حين ان PL/SQL تعوض هذه النواقص حيث تحتوى على اغلب خصائص لغات البرمجه الحديثه من حيث المتغيرات و الجمل الشرطية و التكرارية و الدوال الخ..

بعض وظائف لغة SQL

1- Select statement او جمل السيليكت و دى جمل بتستخدم لأستخراج البيانات من قاعدة البينات
2- DML او جمل التلاعب بالبيانات و هى جمل بتستخدم لاضافة بينات او تعديلها او حذفها
3- DDL او جمل تعريف البيانات و بتستخدم فى بناء الجداول و غيرها من الكائنات الخاصه بقاعدة البينات او التعديل فيها او حذفها

بعض وظائف و خواص PL/SQL
1- Variables المتغيرات و هى من اهم خصائص لغات البرمجه
2- Functions أو الدوال و هى مجموعه من الخطوات البرمجية و التى ينتج عنها نتيجه بالنسبه للى عارف جافا فهى زى method with return type
3- Procedures او الاجراءات و هى مجموع من الخطوات البرمجيه و اللى مابينتجش عنها نتيجه فى الجافا مثل method with void return
4- Packages او الحزم البرمجية و هى مجموعه من ال functions و ال 5- 
procedures المجمعه فى وحده منطقية واحدة و فكرتها الى حد ما شبه class فى الجافا
6- Exception handling و هى القدره على تنفيذ مجموعه من الاجراءات فى حالة حدوث خطأ فى البرنامج

الكلام ده احد المهندسين كاتبه وانا بنقله عنه عشان الكل يستفاد


تابع القراءه »