اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

أثناء مروري بأحد المواضيع في منتدانا الطيب ومن خلال المشاركات كان لأخي الحبيب أبو أحمد - عبدالله المجرب ، تعليق وطلب لشرح تركيب جملة SQL ، ....

http://www.officena....=0

ومنها راودتني نفسي أن أجهز سلسلة لشرح ما يفتح عليّ ربي عن SQL ، وقد باشرت بالعودة لمراجعي ومواقعي المعتمدة ، وما لدي من ملاحظات و ( خرابيش ) في كشكولي ، وعقدت العزم ووجهت النية ... لوجه الله تعالى ، لا أبتغي منكم أجراً ولا (مديحاً) ، إن أجريَ إلا على الله ، وهو حسبي ، وهو المستعان .

ورغم أن لغتي الإنجليزية ممتازة (أدعي) ، إلا أنني قررت الاستعانة بإبني البكر آدم في بعض الترجمات الفنية ، تخفيفاً على نفسي ، وتكثيفاً للجهد ، فأعينونا بالدعاء.

راجياً من المولى عزّ وجلّ أن يعيننا على الخير ، وهو المستعان بحق وجزاؤه المرتجى ...

والله من وراء القصد ... وهو حسبي

........................

  • Like 15
  • Thanks 1
قام بنشر

الجزء 1

تحديد وتعريف SQL

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

في هذا البرنامج التعليمي سوف نراجع المهام العديدة والمتنوعة لل SQL داخل الأكسس, وسأجيب أيضا على العديد من الأسئلة التي عرضت لي شخصيا خلال استكشافي لهذه اللغة

  1. ما هو ال SQL
  2. ما وظيفة ال SQL ولم يستعمل؟
  3. هل يمكن لل SQL القيام بما تعجز أداة تصميم الاستعلام عن فعله؟
  4. هل أحتاج حقا الى معرفة والاطلاع على ال SQL
  5. مصادر لل SQL على الانترنت
  6. كتب عن ال SQL

ما هو SQL ؟

ال SQL هو لغة استعلام متكاملة ومترابطة, البعض يطبق عليها اسم "Ess Queue Ell" وآخرون يشيرون اليها ب "Sequel" وعلى أية حال, فآن ال SQL لغة حديثة نوعا ما, فقد ظهرت للوجود في أواخر السبعينيات من القرن الماضي "1970", عندما احتاج مبرمجو الحاسوب الى لغة تمكنهم من التواصل مع اللغات الاولية المنطقية – وهي لغات تخزن فيها البيانات عن طريق جداول متعددة ذات روابط كثيرة, والأكسس يعتبر قاعدة بيانات منطقية- وأول معيار لل SQL تم نشره عام 1986 بوساطة ANSI وتم تعديله مرات عديدة منذ ذلك الوقت, وبالرغم من انه كان من المفترض ان تكون لغة قياسية, الا انه ظهر العديد من اللهجات فيها.

الميكروسوفت أكسس يستعمل لهجة لل SQL تعرف ب Jet SQL بينما يستخد مايكروسوفت SQL لهجة تسمى T-SQL ولكن اللغة المحورية ولب هذه اللهجات مدعومة من العديد من البرامج وهي بالضرورة بسيطة وسهلة التعلم

وعبارة ال SQL تبدو مشابهة للآتي:



SELECT tblStaff.* FROM tblStaff WHERE tblStaff.Gender="M";

هذا البيان يقول: "بين لي كافة الحقول من الجدول tblStaff حيث حقل الجنس هو M (ذكر)

هذا مثال بسيط لكنه يوضح مدى سهولة لغة SQL

وللحديث بقية

  • Like 4
قام بنشر

لم يستخدم SQL ؟

يستخدم SQL للتفاعل مع بيانات قاعدة البيانات الخاصة بك و.يستخدم الأكسس SQL للعديد من المهام:

كلما تم تشغيل استعلام يستخدم SQL لتصفية البيانات

كلما تم عرض التقرير يستخدم SQL لجمع البيانات ليتم عرضها

ويوفر SQL البيانات المعروضة ضمن نموذج Access

تشغيل الاستعلامات

الأكسس يوفر للمستخدم واجهة ودية، وعرض تصميم الاستعلام، لبناء استفسار. هذه الواجهة تقدم تمثيل رسمي للاستعلام بدون ان يكون للمستخدم أي معرفة بال SQL . عندما يقوم المستخدم ب"تشغيل" الاستعلام يقوم الأكسس بترجمتها بيانياً الى عبارة SQL التي تمرر بدورها الى مشغل قاعدة بيانات Jet. يقوم Jet بإسترجاع البيانات المناسبة و يعرضها Access بطريقة عرض ورقة بيانات الاستعلام.

gallery_12714_23_12596.gif

gallery_12714_23_9589.gif

gallery_12714_23_23114.gif

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

وللحديث بقية

  • Like 5
قام بنشر

تصفية وفرز النماذج والتقارير

توفر نماذج Access للمستخدم الفرصة لتصفية وفرز السجلات التي يتم عرضها.

يتم ذلك عن طريق اختيار أحد الخيارات من القائمة ... سجلات ، أو من داخل النموذج نفسه عن طريق لائحة المحتويات التي تظهر حال النقر على الزر الأيمن من الفأرة

فلديك العديد من الاختيارات

عندما يتم اختيار الفرز يطبق Access جملة WHERE في ال SQL على خيار تصفية النموذج, في الرسم التوضيحي أدناه يجري تصفية نموذج والتي يتم و عرض قيم الخيار على صفحة خصائص النموذج:

gallery_12714_23_8753.gifgallery_12714_23_8842.gif

وبالمثل، فإن Access عندما يتم اختيار ترتيب الفرز يطبق جملة ORDER BY لترتيب النموذج حسب الأولوية

gallery_12714_23_149.gifgallery_12714_23_2534.gif

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

وهذه سلسلة من الدروس تبين لكم كيفية كتابة كودات , VBA, SQLلتصفية وفرز النماذج والتقارير في وقت التشغيل، وإنشاء أدوات قوية للمستخدم

وللحديث بقية

  • Like 5
قام بنشر

فيما سبق توصلنا واستذكرنا معلوماتنا الرئيسية ... والآن

ما هي SQL؟

• SQL للتعامل مع لغة الاستعلام الهيكلية

• SQL تمكنك من الوصول والتعامل مع قواعد البيانات

• SQL هي معيارية (قياسية) لدى (المعهد الوطني الأمريكي للمعايير) ANSI

ماذا يمكن أن تفعل SQL؟

• يمكن تنفيذ استعلامات ضمن قاعدة البيانات

• يمكن استعادة البيانات من قاعدة البيانات

• يمكن إدراج سجلات في قاعدة البيانات

• يمكن تحديث السجلات في قاعدة البيانات

• يمكن حذف السجلات من قاعدة البيانات

• يمكن إنشاء قواعد بيانات جديدة

• يمكن إنشاء الجداول الجديدة في قاعدة البيانات

• يمكن إنشاء الإجراءات المخزنة في قاعدة البيانات

• يمكن إنشاء طرق عرض في قاعدة البيانات

• يمكن تعيين الأذونات على الجداول، والإجراءات، والعرض

وبذلك تدعم الأوامر الرئيسية (مثل SELECT، UPDATE، DELETE، INSERT، WHERE)

وسنعتمد في تطبيقاتنا على قاعدة البيانات القياسية Northwind

وللحديث بقية

  • Like 3
قام بنشر

الإستعلامات المخزنة مسبقاً : هي الإستعلامات المحفوظة ضمن قاعدة البيانات ومخزنة فيها.

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

..............

  • Like 1
قام بنشر

RDBMS



RDBMS يرمز لنظام إدارة قواعد البيانات العلائقية.

RDBMS هو الأساس لSQL، وبالنسبة لجميع أنظمة قواعد البيانات الحديثة مثل MS SQL Server و

DB2 IBM، Oracle ، MySQL، و Microsoft Access.

يتم تخزين البيانات في RDBMS في كائنات قاعدة البيانات وتسمى الجداول.

والجدول هي عبارة عن مجموعة من إدخالات البيانات ذات الصلة، وتتكون من أعمدة وصفوف.

gallery_12714_23_9598.gif

نعرف أن قاعدة البيانات في أغلب الأحيان تحتوي على واحد أو أكثر من الجداول. يتم تعريف كل جدول بواسطة اسم (على سبيل المثال "العملاء"، أو "الطلبيات"). الجداول تحتوي على سجلات (صفوف) مع البيانات.

فيما يلي مثال من جدول يسمى "Persons":يحتوي الجدول أعلاه ثلاثة سجلات (واحد لكل شخص)، وخمسة أعمدة (P_Id، اسم العائلة، الاسم الأول، العنوان، والمدينة).

عبارات SQL

معظم الإجراءات التي تحتاج إلى تنفيذ على قاعدة بيانات مع عبارات SQL.

سيكون عبارة SQL التالية تحديد كافة السجلات في الجدول "Persons":

SELECT * FROM Persons

فائدة : نضع في اعتبارنا أن ... SQL ليست حساسة ل case

فاصلة منقوطة بعد بيانات SQL؟

أنظمة قواعد البيانات تتطلب فاصلة منقوطة في نهاية كل عبارة SQL.

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

ملاحظة : جميع المعالجات و النسخ الحديثة تستخدم الفاصلة المنقوطة في نهاية عبارة SQL

................................

  • Like 5
قام بنشر

SQL DML and DDL

ويمكن تقسيم SQL إلى قسمين:

  • لغة معالجة البيانات (DML)
  • لغة تعريف البيانات (DDL).

الاستعلام وأوامر التحديث تشكل جزء DML

SELECT (حَدِد ) - استخلاص البيانات من قاعدة البيانات

UPDATE ( تحديث) - تحديثات البيانات في قاعدة البيانات

DELETE ( حذف ) - حذف البيانات من قاعدة البيانات

INSERT INTO (إدراج) - إدراج بيانات جديدة في قاعدة البيانات

الجزء DDL من SQL يسمح لجداول قاعدة البيانات أن يتم إنشاؤها و حذفها.

ويعرف أيضا الفهارس (المفاتيح)، تحدد الروابط بين الجداول، وتفرض القيود بين الجداول.

و أهم جمل (عبارات) DDL في SQL هي:

• CREATE DATABASE - إنشاء قاعدة بيانات جديدة

• ALTER DATABASE - تعديل قاعدة بيانات

• CREATE TABLE - إنشاء جدول جديد

• ALTER TABLE - تعديل جدول

• TABLE DROP - حذف جدول

• CREATE INDEX - ينشئ فهرس (مفتاح البحث)

• INDEX DROP - حذف فهرس

  • Like 5
  • Thanks 1
قام بنشر

بارك الله فيك اخي ابو آدم

و بصراحة انا من جهتي افضل ان لا اضع تعليقات من الآن فصاعدا حتى انتهاء الموضوع ( بصراحة )

و من ناحية اخرى حتى لا تقول ان الموضوع غير مهم

بالعكس الموضوع مهم جدا

ولكن كي لا نطيل الموضوع بالردود و من جهة أخرى ما رأي الاخوة في تأجيل الردود حتى انتهاء الموضوع ؟؟؟

  • Like 1
قام بنشر

الجزء 2

سنقوم ضمن هذا الجزء بشرح تطبيقات عملية وبعض دقائق الأمور الحاسمة و المهمة ، كي نتمكن من إستخدام SQL بسهولة ويسر .

ومن خلال هذا الفصل سيتم شرح وتفصيل جملة (عبارة) SELECT

وتستخدم عبارة SELECT لتحديد البيانات من قاعدة بيانات ، ويتم تخزين النتيجة في جدول النتيجة، المسمى ( مجموعة النتيجة )

result-set .

SELECT

بناء الجملة SQL SELECT Syntax


SELECT column_name(s)

FROM table_name

و ....

SELECT * FROM table_name[/right]



ومثال ذلك تعاملنا مع الجدول Employees من قاعدة البيانات المختارة للتطبيق Northwind
نريد تحديد مضمون الأعمدة "LastName" و "FirstName" من الجدول Employees ، فنستخدم العبارة التالية :

SELECT LastName,FirstName FROM Employees


أو

SELECT  Employees .LastName, Employees .FirstName

FROM Employees;



SELECT  Employees .*

FROM Employees;


فائدة : النجمة (*) هو وسيلة سريعة لتحديد كافة الأعمدة!

ويكون شكل result-set كما كما في الاستعلام Q_SelectAll

.......................................

NA_NorthwindSQL.rar

ويكون شكل result-set كما في الاستعلام Q_Select
SELECT *
نريد تحديد كافة الأعمدة من الجدول Employees ، فنستخدم العبارة التالية :

SELECT * FROM Employees

أو
  • Like 8
قام بنشر

الأخ والأستاذ الفاضل / أبو آدم

أشكرك على تطرقك لشرح ال SQL ويارب نوصل كلما معاك ل PL/SQL وأوراكل

وتفضلوا بقبول فائق التقدير والإحترام ,

قام بنشر

SELECT … WHERE

جملة WHERE وتصفية السجلات.
يتم استخدام جملة WHERE لاستخراج ، فقط ، تلك السجلات التي تفي بمعيار محدد.
بناء الجملة SQL SELECT … WHERE Syntax





SELECT column_name(s)
FROM table_name
WHERE column_name operator value

وحيث نريد تحديد الاشخاص الذين يقطنون في مدينة "" من الحقل City من الجدول Employees ، نستخدم عبارة SELECT WHERE التالية :




SELECT Employees.City, *
FROM Employees
WHERE (((Employees.City)=”Seattle”));


ويكون شكل result-set كما في الاستعلام Q_WHERE

NA_NorthwindSQL.rar

  • Like 3
قام بنشر

بعض الشروط الفنية لبناء الجمل

ودعونا هنا نتحدث عن بنية الجملة وبعض الشروط الفنية فيها.

بنية الجملة

SELECT

Employees .LastName, Employees .FirstName


FROM Employees


WHERE (((Employees .City)=”Seattle”));

جملة تزودنا بالمعايير أما فيما يتعلق بالأقواس ، فيمكننا تركها وكتابة العبارة كما يلي :

SELECT Employees.City, *

FROM Employees

WHERE Employees.City="Seattle";

كلمة رئيسية ترشد الاستعلام لاسترداد البيانات

Employees .City, *

أو
قائمة الحقول التي تحدد أي الحقول سيتم إظهارها
تحديد مصدر البيانات
  • Like 3
قام بنشر

لا تبخل بالمعلومات

عند تحديد كل حقل يكون لك الخيار بإلحاقه بإسم الجدول وبينهما نقطة

 SELECT Firstname, Lastname
Employees.LastName, Employees.FirstName
FROM Employees

وحين يكون إستعلامك متضمناً لأكثر من جدول ستكون ( ملزماً لا مختاراً ) بإلحاق إسم الحقل بإسم جدوله.

هي نفسها
مضافاً لكل حقل تبيعيته لمصدر البيانات المحدد في جملة
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information