Hicham Al Sayed ahmed

اهلا و سهلا بكم في منتدى تقنيات الحاسوب 2013

منتدى و عالم تقنيات الحاسوب و البرمجة وانظمة التشغيل و الصيانة 2013

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

اطرح سؤالك على فريق العمل في الفيسبوك

تابعنا على الفيسبوك

مشاركة الموضوع عبر الفيسبوك

Log in

I forgot my password

Top posting users this week

Who is online?

In total there is 1 user online :: 0 Registered, 0 Hidden and 1 Guest

None


Most users ever online was 85 on Tue Nov 05, 2013 5:00 am

تابعنا على الفيسبوك


مقدمة عن Borland Delphi

Share
avatar
عفريت السويداء
عضو مميز
عضو مميز

نقاط : 1157

default مقدمة عن Borland Delphi

Post by عفريت السويداء on Wed Dec 21, 2011 2:27 pm


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



قواعد البيانات في دلفي : 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) تسمى sqlLinks وهي متاحة فقط على النسخة Delphi Enterprise تسمح بالدخول إلى بعض مخدمات الSQL , مثل
Oracle,Sybase,Microsoft,Informix,InterBase, DB2 servers.

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



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

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

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

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

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

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



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


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

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

يدعم قواعد البيانات المحلية ومخدمات الـ لbdeكذلك , وهو أيضا محرك ثقيل الوزن حقيقي مثل 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) :


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

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

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

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

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



العنصر
ClientDataSet :


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

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

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

بالمختصر
Dbexpress لايملك سوى القدرة على مخدمات sql
ClientDataSet = = = = = = = = = بيانات محلية
فإذا دمجنا هاتين الأداتين معا عن طريق سنحصل على أداء ممتاز
avatar
al-Master

نقاط : 123

default Re: مقدمة عن Borland Delphi

Post by al-Master on Fri Jan 06, 2012 6:22 pm

شكرا على هذا الموضوووع الجميل cheers
avatar
عفريت السويداء
عضو مميز
عضو مميز

نقاط : 1157

default Re: مقدمة عن Borland Delphi

Post by عفريت السويداء on Wed Jan 11, 2012 3:55 pm

شو عدي علق معك التعليق مثلا

ومع هيك مشكوووور عالرد الحلووو




    Current date/time is Wed Nov 21, 2018 1:13 am