الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التعامل مع العلاقات ( الجداول ) - الدرس الثاني

مغلق
بدأه cold0zero في 10 يوليو 2003 · 5 رد · 987 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

التعامل مع العلاقات ( الجداول )

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

لهذا السبب يدعى الجبر العلائقي بالجرائي procedural لأنه يلجأ الى عمليات متتابعة للحصول على المعطيات المطلوبة

على العكس من ذلك فلغة SQL ليست اجرائية لأنك عندما تضع استفسار فانك تحدد بشكل واضح ما تريد الحصول عليه بدون أن تحدد الطريقة التي يجب أن يعمل بها نظام DBMS لتأمين ذلك

عندما تصيغ استفسارSQL وارساله الى نظام DBMS / SQLيقوم متفحص الأستفسارات query optimizer باختيار الطريقة الأكثر فاعلية للوصول الى المعطيات المطلوبة ان عمليه الأختيار هذه معقدة وليس من الضروري أن يكون المبرمج أو المستخدم النهائي على اطلاع عليها

ما عليك معرفته هنا أنه من الممكن استخدام عدة تعابيرSQL للحصول على نفس النتيجة و لكن بأداء مختلف

من المؤكد أنه كلما كانت معرفتك بعلم الجبر و بطريقة توزيع المعطيات أفضل كلما كان اختيارك لتعبيرSQLالمطلوب أكثر ملائمة

بيئات عمل SQL

يوجد طريقتان لارسال أمر SQLالى قاعدة البيانات

تعبير SQL التفاعلي : يقوم المستخدم في هذه الحالة بكتابة أمر مفرد و ارساله مباشرة الى قاعدة البيانات و تكون نتيجة ذلك جدول في الذاكرة الحية و يحصل المستخدم على جدول جديد و حيد كنتيجة . في كل مرة استخدم بيئات العمل الحواسب الكبيرة و من الممكن الحصول على عدة جداول في نفس الوقت على الحواسيب الشخصية ان الجداول الناتجة عن هذة الأستفسارات ليست قانونية دائما حيث أن وجود قيم" NULL" تمنع وجود مفاتيح اساسية أحيانا لا تشكل هذه الحالة مشكلة نظرا لأن هذه الجداول لا تنتمي فعلا الى قاعدة المعطيات ( موجودة فقط في الذاكرة و هي مؤقتة )

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

ان تعابير SQL في كلا الطريقتين متشابهة

معالجة أوامر SQL التفاعليه

ان التعامل مع البيئات التفاعلية يمر بشكل علم بالخطوات التالية :

كتابة أمر SQL

ارسال الأمر الى قاعدة البيانات و انتظار النتيجة

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

SQL على نظم العمل المركزية

في حالة العمل باستخدام أنظمة IBM DB / 2 أو SQL / DS على حاسب مركزي سوف تقوم غالبا بالتعامل مع بيئة QMF ( تسهيلات ادارة الأستفسار ) لتنفيذ أوامر SQL التفاعليه

يظهر الشكل التالي بيئة QMF المكونة من شاشة فارغة لكتابة الأوامر حيث يمكن استخدام المفاتيح المبرمجة لتسهيل عملية الكتابة كما يمكن كتابة الأمر مباشرة عند اشارة command = = >

SQL Query

Select * From CAB_

*** END ***

6 = draw 5 = chart 4 = print 3 = end 2 = run 1 = help

12 = report 11 = delet 10 = insert 9 = form 8 = forward 7 = backward

positioned Ok , cursor

Command = = = >

page Scroll = = = >

يقوم QMF بتنفيذ الأوامر عندما يضغط المستخدم على مفتاح F2 حيث يرسل الأستفسار الى نظام DBMS الذي يرجع بدوره المعطيات المطلوبة الى QMF الذي يقوم باظهارها على الشاشة

SQL على الحواسب الشخصية

يوجد عدد كبير من معالجات SQL التفاعلية وتمتلك أغلب بيئات البرمجة الحالية واجهات تخاطب بسيطة تسمح بتنفيذ أمر SQL ( مثل : vb6-visdata , access , delphi )

الدرس القادم

عملية استرداد بسيطة للمعطيات باستخدام SQL

تم تعديل هذه المشاركة بواسطة walcom في 6 يونيو 2006 في 15:32

#2

هذا هو الدرس الثاني

#3

شكرا اخي الكريم على هذا الدرس المهم

عندي لك سؤال لو سمحت

انا عندي تطبيق بالاكسس 2000 ربط فقط الجداول مع sql server لكن المشكلة العلاقات لم تنجح

عملت العلاقات في السرفر لكن عندما شغلت التطبيق من الاكسس لم تنجح ما الخطا في رايك ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ظ

انا مستعجل جدا و اريد المساعدة

#4

ممكن شوية شرح

#5

إذا في علاقات في SQL Server فهذه العلاقات سوف تعمل طبيعيا، العلاقات في SQL Server هدفها الحفاظ على البيانات عند التحديث و الحذف و الإضافة

وضعت علاقة حذف بيانات من جدول عندما تحذف بيانات من جدول آخر و قام بالحذف من الجدول الأول و لم يتم الحذف الآلي في الجدول الثاني؟ شو يعني ما نجحت، ما هي رسالة الغلط

بعدين كيف ربط الجداول فقط؟، هل استخدم ODBC أو ADO أو DAO أو وصول مباشر أو ماذا؟ شو هيا رسالة الغلط،

هذا الموضوع مغلق.

مواضيع مشابهة