دائما في الخدمه ،،
بحث مخصص


العودة   منتديات الحاسب في حياتنا > :: الـمنتـديـات الـتـقــنيـــة Technical forums:: > :: ملتقى المبرمجيـن دروس البرمجـة Programmers ::

:: ملتقى المبرمجيـن دروس البرمجـة Programmers :: دروس ، أمثلة ، فيجوال بيسك ، دوت نت، جافا ، سي ++، اوراكل ، أسمبلي و بقيه لغات البرمجه .

رد
 
أدوات الموضوع طرق مشاهدة الموضوع
قديم 21-8-1425هـ, 09:40 مساء   رقم المشاركة : [1]
orwah
 

معدل تقييم المستوى: 0 orwah is on a distinguished road

افتراضي

قواعد البيانات في دلفي : DataBases In Delphi



إن دعم دلفي اللامحدود لقواعد البيانات يعتبر من أهم سمات هذة اللغة , ومنذ بدايات دلفي أخذت سيطا واسع الإنتشار عن قوة دعمها لقواعد البيانات .

سوف نتكلم في هذة المقالة عن دعم دلفي الواسع لقواعد البيانات ..

الوصول إلى قاعدة البيانات لمحة تاريخية :

Accessing a Database: BDE, dbExpress, and Other Alternatives


في بدايات دلفي كان الدعم الوحيد لقواعد البيانات من خلال محرك قواعد بيانات بورلاند BDE (Borland DataBase Engine) ,

ومنذ دلفي 3 توسع شريط أدوات دلفي المتعلق بقواعد البيانات ليشمل كمية أكبر وأفضل من الأدوات التحكمية , .

دلفي 5 شهدت بدايات دعم الـADO (Microsoft Active X Data Object ) وكذلك الـ IBX (InterBase Express )

دلفي 6 أضافت DBExpress إلى القائمة , والذي هو أداة جديدة تدعم تعدد_المنصات ومكونات دخول إلى قواعد البيانات تتسم بالإستقلال والمحمولية , تم تطويرها من قبل بورلاند وهي مرفقة مع كايلكس على لينكس ودلفي على ويندوز .



محرك قواعد بيانات بورلاند : Borland Database Engine (BDE)
تم إنشاء ال BDE مع جداول البارادوكس , حتى قبل أن تكون دلفي قد وجدت بعد . ثم قامت بورلاند بتوسيعة لاحقا ليدعم قواعد بيانات محلية أخرى والعديد من مخدمات الـ SQL (SQL Servers) كذلك ,

يستطيع BDE تأمين دخول مباشر إلى dBASE,Paradox,ASCII,FoxPro, وجداول Access .

وكذلك لة مجموعة من المشغلات (Drivers) تسمى Sql Links وهي متاحة فقط على النسخة Delphi Enterprise تسمح بالدخول إلى بعض مخدمات الSQL , مثل Oracle,Sybase,Microsoft,Informix,InterBase, DB2 servers.

وإذا أردت الدخول إلى قاعدة بيانات أخرى غير متوفرة فإن الBDE يستطيع التعامل مع مشغلات الـ ODBC أيضا .



الميزة الخاصة لإستخدام الـ BDE أن هذة التقنية مدمجة ومضمنة بشكل جيد جدا في دلفي , وعناصرة مدعومة بشكل جيد بالشرح والمساعدة في دلفي , وهو الحل الحيوي الأساسي للدخول إلى قواعد بيانات محلية مثل Paradox و Dbase
وسيئات هذا الخيار أن بورلاند قد أوقفت دعمة وتطويرة , ولن يتوفر لة تحديثات مستقبلية فيما بعد ,
كما أنك بحاجة إلى تنصيبة وإعدادة على جهاز الزبون ,

وهو محرك ثقيل الوزن يتطلب الكثير من ملفات التنصيب ومتطلبات الذاكرة , وهو متاح فقط على ويندوز ,.

إذا كنت قد بنيت تطبيقات قواعد بيانات محلية بإستخدامة , فلا توجد حاجة للضيق ذرعا بة ومحاولة تبديلة مبكرا مالم تكن تفكر بنقل تطبيقاتك إلى لينكس , أو تتوقع تبديل قواعد بيانات مستقبلا بنوع غير معروف الآن .

أما إذا كنت تستخدم مخدم Sql فإني أرى النقل إلى تقنية ربط أخرى خيارا واردا , حسب حاجاتك وتوقعاتك .

يوجد ثلاث أنواع من عناصر الـ DataSet في BDE هيTable و Queryو StoredProc بالإضافة إلى UpdateSQL المستخدمة بالإتصال مع عنصر الQuery .

المكونان DataBase و Session يستخدمان لإعداد الإتصال مع قاعدة البيانات , والعنصر BatchMove يستخدم من أجل نسخ البيانات , .



المكون ADO : ActiveX Data Objects :

ADO وهو إختصار للعبارة ActiveX Data Objects هو واجهة عالية المستوى من مايكروسوفت من أجل الوصول (دخول) قواعد البيانات , ينفذ ADO على تقنية Microsoft ’s data-access OLE DB والذي يسمح بالوصول إلى قواعد البيانات العلائقية وغير العلائقية كذلك البريد الإلكتروني ونظم الملفات وبعض الأغراض الأخرى .

يملك محرك ADO خصائص ومميزات مشابهه لل BDE حيث

يدعم قواعد البيانات المحلية ومخدمات الـ SQL كذلك , وهو أيضا محرك ثقيل الوزن حقيقي مثل BDE , تتصف إعداداتة بإنها بسيطة وسهلة (لإنة ليس مركزيا) ,كما أن التنصيب من الناحية النظرية ليس مهما (!..)

الجميل أن هذا المحرك يأتي مضمنا مع الإصدارات الحالية (الحديثة) من النظام ويندوز .....

ولكن لتعلم على كل حال أن التوافقية المحدودة بين الإصدارات المختلفة للـ ADO مع نفسة سوف تجبرك على تحديث أجهزة المستخدمين ليملكو نفس إصدارة الADO التي إستخدمتها لتطوير البرنامج ونفس الحجم من MDAC (Microsoft Data Access Components) والذي سوف يحدث جزء كبير من نظام التشغيل مما يجعل هذة العملية بعيدة عن البساطة والسهولة ... .

ببساطة ADO ليس متوافقا مع نفسة ومع إصداراتة اللاحقة ., وهذا حال مايكروسوفت دومــا ...

إن إستخدام ADO مع Access أو SQLServer يؤمن بلا شك بعض الميزات الإضافية , لإنها مشغلات مايكروسوفت تعمل على قواعد بيانات مايكروسوفت, يعني بالعامية منقول أهلية بمحلية , لذلك توقع أداء متماسكا في هذة الحالة .

إن إستخدام ADO من أجل Access يعتبر حلا جيدا , ولكن إذا كنت تخطط لإستخدام مخدم SQL آخر أولا عليك التأكد من توافر مشغلات جيدة لة (Drivers) – ربما تظهر لك بعض المفاجأات ..

ADO قوي تماما , ولكن عليك أن تتأقلم معه جيدا ... , إنة موجود فعليا بين تطبيقك وقاعدة البيانات .

ومن الجانب المضاد : لا تستخدم ADO إذا كنت تفكر بالتطوير متعدد-المنصات لإن هذة التقنية الخاصة بمايكروسوفت غير متوفرة من أجل نظام تشغيل آخر .

بإختصار . إستخدم ADO إذا كنت تخطط للعمل فقط على ويندوز وتريد إستخدام Access أو قواعد بيانات مايكروسوفت أخرى , أو أنك عثرت على مزود OLE DB جيد من أجل قاعدة البيانات التي تخطط لإستخدامها , .



مكتبة الـ dbExpress : The dbExpress Library

إحدى خصائص النسخة السادسة6مندلفي هي بداية مكتبة قواعدبيانات DBExpress من أجل منصة الويندوز .

أنا أقول مكتبة لإنة وعلى عكس الـ BDE والـ ADO فإن DBExpress يعتبر خفيف الحجم تماما , وأضع خطا تحت ويندوز لإن نفس المكتبة متوفرة على لينكس من أجل كايلكس Kylix .

أن أهم ميزتين في DBExpress هي أن يكون خفيفا ومحمولا (سهل التنقل) . وهما السبب الكامن وراء إنتاجة من شركة بورلاند .

وأهم مايميزة بالتالي هو أنة وبشكل أساسي لا يحتاج إلى أي إعدادات على جهاز الزبون .....

وبالمقارنة مع البقية فإن DBExpress محدود بالقدرات , فهولايستطيع الدخول إلا على مخدمات الـSQL , (وبالتالي لاقواعد بيانات محلية .....) كما أنة لايملك مقدرات التخزين المؤقت (no caching capabilities) , ويؤمن فقط الإتصال غير الموجة مع البيانات ...

كنظرة أولى ربما تظن أن هذة الأداة عديمة النفع وغير جيدة ... ؟؟؟

وبالمقابل هذة هي الميزات التي جعلتها ممتعة ومميزة :

الإتصال غير الموجة مع البيانات وبدون أي تحديث موجة هو الحالة المعيارية في حال كنت تريد خدمات طباعة التقارير وتوليد ملفات html , أو إظهار محتويات قاعدة البيانات .

إذا كنت تريد بناء واجهات مستخدم لتعديل البيانات بدلا من ذلك , تذكر بإن دلفي تملك أدوات خاصة (ClientDataSet ) والتي تؤمن حلول الإستعلامات والتخزين المؤقت.. (caching and query resolution.) .

هذة المكونات تسمح لتطبيقك المبني على DBExpress بإمتلاك تحكم أكثر بكثيرمن بإستخدام محرك قواعد بيانات منفصل. والذي يقوم بأمور إضافية لك , لكنة يقوم بة بالطريقة التي يريدها هو وليست الطريقة التي تريدها أنت .

ومن المهم جدا أن تفكر بإن بورلاند قد نشرت هذة المكتبة , وهي الخيار الحيوي الوحيد المتاح من أجل لينكس , وقد أوقفت بورلاند تطوير BDE وتطور DBExpress بدلا عنة ,, ذلك فإن المستقبل لها ولن تتوقف بورلاند عن دعمها في المدى القريب وسوف تستمر بتحديثها . لذلك فإن التفكير في الDBExpress كحل في البرامج هو رأي سديد , وكذلك التفكير في تحديث برامج قواعد بيانات أخرى إلى هذة البنية الجديدة DBExpress ...



محرك إنتربيز InterBase Express (IBX) :

إن إنتربيز سيرفر هو منتج بورلاند مفتوح- المصدر ... والأجمل أنة مجاني كذلك ,...

على عكس BDE و ADO و DBExpress فإنExpress InterBase ليس محرك مخدم قواعد بيانات مستقل , وإنما تقنية من أجل دخول مخدم قواعد بيانات محدد (وهو InterBase) , فإذا كنت تخطط لإستخدام InterBase فقط كنظام إدارة قواعد بياناتك العلائقية (your back-end RDBMS,) فإن إستخدام هذة المجموعة من العناصر سوف تمنحك التحكم الأعلى لهذا المخدم , وتقدم الأداء الأفضل , وتسمح لك كذلك بالتحكم والمحافظة على المخدم من خلال تطبيق زبون عادي .....

ملاحظة :
إن إستخدام InterBaseExpress يلقي الضوء على إستخدام عناصر مخصصة للإتصال بنوع محدد من قواعد البيانات , والتي هي متوفرة من أجل العديد من الأنواع مثل Oracle, Access, dBase والعديد ...

وبإختصار فإنك تستطيع إستخدام InterBaseExpress إذا كنت متأكدا أنك لن تغير نوع قاعدة بياناتك في المستقبل , وتريد تحقيق الأداء الأعلى والتحكم الأفضل على حساب الإستقرارية والمحمولية ...

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



العنصر ClientDataSet :

وأخيرا يوجد عنصر مشتق من TdataSet والذي يملك سلوك خاص ويمكن دمجة مع أدوات وصول لقواعد بيانات أخرى

في الحقيقة إن عنصر الـ ClientDataSet يستخدم للدخول إلى بيانات مخزنة بالذاكرة , البيانات المخزنة بالذاكرة هي بيانات مؤقتة بشكل كامل , وسوف تفقد عندما تقوم بإغلاق برنامجك . يمكن حفظها إلى ملف محلي وتوريدها إلى عنصر إتصال آخر ..



بقلم عروة علي عيسى

7/5/2004

بتصرف عن Mastering Delphi 6



التوقيع:
عروة عيسى
--------------------
www.orwah.net
orwah غير متواجد حالياً   رد مع اقتباس

قديم 22-8-1425هـ, 01:01 صباحاً   رقم المشاركة : [2]
عدنان الغامدي
الصورة الرمزية عدنان الغامدي
 

معدل تقييم المستوى: 10 عدنان الغامدي تم تعطيل التقييم

افتراضي

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

اسمح لي بتثبيت الموضوع لاهميته كمبدأ من مبادئ التعرف على الدلفي
ولك التحية والتقدير


التوقيع:
عدنان الغامدي غير متواجد حالياً   رد مع اقتباس

قديم 22-8-1425هـ, 03:08 مساء   رقم المشاركة : [3]
NahhaB
الصورة الرمزية NahhaB
 

معدل تقييم المستوى: 10 NahhaB تم تعطيل التقييم

افتراضي

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


التوقيع: التوقيع من تصميم الاخت moonflowers
NahhaB غير متواجد حالياً   رد مع اقتباس

قديم 22-8-1425هـ, 05:02 مساء   رقم المشاركة : [4]
orwah
 

معدل تقييم المستوى: 0 orwah is on a distinguished road

افتراضي

أعمل على إعداد محاضرة عن لغات البرمجة ومعايير تمييز اللغات , سألقيها في الجمعية العلمية للمعلوماتية . وبعد الإنتهاء منها سأقوم بوضع مقتطفات مفيدة منها هنا .


التوقيع:
عروة عيسى
--------------------
www.orwah.net
orwah غير متواجد حالياً   رد مع اقتباس

رد


أدوات الموضوع
طرق مشاهدة الموضوع

الانتقال السريع إلى


الساعة الآن: 10:58 مساء

.Powered by vBulletin®, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd
.Powered by vista style, designed by Majeedah. For best browsing, use Mozilla Firefox.
الاتصال بنا - الأرشيف- [ 12   11   10   9   8   7   6   5   4   3   2   1 ] - الأعلى