DBISAM
در اين مقاله ميخواهيم شما را با DBISAM ، پديده دنياي بانكهاي اطلاعاتي آشنا كنيم. يك راست و بدون مقدمه ميرويم سر اصل مطلب. اين ليست قابليتهاي اين Database Engine است:
- پشتيباني كامل 100 زبان بين المللي ( از جمله فارسي و انگليسي )
- پشتيباني تاريخ هجري شمسي
- ايندكس و سورت صحيح فارسي
- تنظيمات خاصي براي استفاده بصورت Client/Server نياز نيست .
- بازده استثنايي وبهينه سازي Filtering وSQL .
- امكانات بازسازي و تعمير درون ساخت .
- امكان تبديل فرمت تمام انواع Database به فرمت DBISAM .
- داراي برنامه كمكي ويژه جهت Browse ،Restructure ، Update وجستجوي Database
- پشتيباني كامل Blob ،شامل block size قابل تنظيم بصورت دلخواه
- Buffered Transaction جهت حفاظت دادهها هنگام قطع برق و امثال آن
- ايندكس هاي Primary و Secondary
- پشتيباني كامل Filter
- فايلهاي داده in-memory با پشتيباني Streaming
- جستجوي در ايندكس با استفاده از علامتهاي (* ، ؟)
- تعيين محدوده (بازه) با تعداد دقيق ركوردها
- پشتيباني فيلد Auto-Increment
- اعداد منطقي ترتيبي
- پشتيباني كامل NULL
- Min/Max وبررسي Validity
- مقادير پيش فرض
- فشرده سازي كليدها وايندكسها
- فشرده سازي اتوماتيك ايندكسها
- پشتيباني Database هاي read-only برروي CD-ROM
- پشتيباني كامل BCD
- ايندكسهاي Case-Insensitive
- حفاظت از داده ها با Password-Encryption
- ايندكسهاي ثانويه Unique
- امكان تعريف Version Numbering فايلهاي داده توسط كاربر
DBISAM اصلا چيست؟
DBISAM يك موتور Database مانند BDE ، SQL Server و Interbase است، با امكانات خارقالعاده.
عدم نياز به هيچگونه Driver يا DLL براي اجراي برنامه
جالب است نه؟ يعني برنامه شما براي اجرا به هيچگونه درايور يا DLL اي نياز ندارد، چرا كه تمام موتور Database و ملحقات آن مستقيما به درون فايل Exe شما كامپايل ميشود. حجمي هم كه به فايل شما اضافه ميشود مقداري جزئي و قابل چشم پوشي است.
اين در حالي است كه BDE براي باز كردن يك فايل ساده Paradox به مجموعهاي از درايورها نياز دارد و برنامه شما در صورت عدم حضور آنها با نمايش يك Exception با يك دردسر اساسي روبرو خواهد شد.
استفاده از DBISAM بعنوان يك جايگزين براي BDE
اكثر برنامه نويساني كه با BDE كار كرده اند با مشكلات آن به خوبي آشنا هستند: خراب شدن ايندكسها ، خراب شدن فايلهاي داده در صورت قطع برق ، مشكل User Lock و ...
اينها همه مشكلاتي است كه در DBISAM حل شده است .
تبديل برنامه Desktop به Client/Server
هنگامي كه از يك برنامهنويس خواسته ميشود تا برنامهاي كه با BDE نوشته است را تبديل به نسخه Client/Server كند كابوس او شروع ميشود، زيرا بايد اكثر بخشهاي برنامهاش را باز نويسي كند .
اما با استفاده ازDBISAM اين كار به آساني مقداردهي يك مشخصه در كامپونت Session است:
Session Type := StRemote;
بله به همين سادگي است! يعني با صرف زماني كمتر از چند دقيقه ميتوانيد هم سرور DBISAMرا نصب و راه اندازي كنيد و هم برنامهتان را تبديل به نسخه Client /Server كنيد. هيجان انگيز است! نه ؟
نصب Database Server در كمتر از چند دقيقه!
اگر تا كنون Database Engine هاي ديگر مانند SQL Server و امثال آن را نصب كرده باشيد حتما ميدانيد كه عمليات نصب و پيكربندي آنها نزديك به يكساعت وقت ميگيرد، البته بشرطي كه تجربه لازم در نصب و پيكربندي آنها را داشته باشيد، در غير اينصورت بايد ساعتها وقت را نيز براي يادگيري موارد فوق كنيد، اين درحالي است كه ميتوانستيد چنين وقتي را صرف رسيدن به امور مهمتري مانند رسيدگي به برنامه خود كنيد.
اما نصب Database Server اين سيستم در 1 دقيقه نيز ممكن است!!! چگونه؟ با طي مراحل فوق:
- انتخاب كامپيوتري كه قرار است نقش Database Server را بعهده بگيرد.
- انجام تغييرات لازم در فايل .INI مربوطه (از جمله مشخص كردن IP Address سرور، ... ).
- اجراي Database Server (كه يك فايل Exe بيش نيست!).
قابليت اجراي برنامه ها در حالت Read-Only
فرض كنيد ميخواهيد برنامهاي بنويسيد كه حاوي يكسري داده باشد (مانند ديكشنري، برنامه هاي مالتيمديا، دايرةالمعارف ، و ...) ونيز برنامه شما قرار است در يك محيط Read-Only (مثلا از روي CD يا DVD) اجرا شود . دراين حالتDBISAM بشما اجازه ميدهد بدون هيچگونه تغييري در كد برنامه، آنرا به محيط مقصد (CD ، DVD) منتقل كنيد و بدون نياز به انجام هيچ تغيير خاصي آنرا اجرا كنيد.
پشتيباني زبان فارسي
DBISAM اولين Database Engine اي است كه زبان Farsi را هم تحويل گرفته و آ نرا پشتيبانيميكند، شما هنگام طراحي جداول ميتوانيد زبان جدول را بر روي "Farsi" قرار دهيد (شكل 1).
در اينصورت اگر روي يكي از فيلد هاي حاوي حروف فارسي ايندكس تعريف كنيد خواهيد ديد كه عبارات شما بر اساس ترتيب حروف فارسي مرتب خواهند شد(شكل 2).
شكل 1- پشتيباني زبان فارسي توسط DBISAM
شكل 2- سورت صحيح عبارات فارسي بر اساس ترتيب الفباي فارسي
پشتيباني تاريخ هجري شمسي
حرفهايهاي Database ميدانند كه اكثر Database Engine هاي موجود محدوده تاريخ شمسي را بعنوان بازه صحيح قبول ندارند و اجازه ذخيره شدن آن در جداول با فيلد Date را نميدهند، اما DBISAM از اين قاعده پيروي نميكند. يعني شما ميتوانيد در يك فيلد از نوعDate در جداول DBISAM تاريخي مانند 10/5/1382 را بدون هيچ مشكلي ذخيره كنيد .
امكان Partial Search برروي فيلدهاي فارسي
در DBISAM امكان جستجو با استفاده از علائم * و ؟ بر روي فيلد هاي فارسي نيز وجود دارد.
بدين ترتيب شما مي توانيد بعنوان مثال با استفاده از عبارت *محمد* در تركيب جستجو كليه موارد شبيه به كلمه فوق ( مانند "محمد رضا"، "محمدي") را پيدا كنيد .
بهينهسازي فيلدهاي Image
هنگامي كه ميخواهيد تصاوير را در جداول DBISAM نگهداري كنيد ، سيستم بصورت اتوماتيك آنها را فشرده و بهينهسازي ميكند تا فضاي كمتري براي نگهداري آنها موردنياز باشد و نيز سرعت خواندن و نوشتن آنها در سيستم افزايش يابد .
امكان بازسازي و تعمير جداو ل
DBISAM داراي متدهاي ويژه تعمير و بازسازي database ميباشد. با استفاده از اين امكان برنامهنويس ميتواند هر گاه كه نياز به تعمير database دارد با اجراي متدي مانند Table1.Repair; جدول مورد نظر را تعمير كند.
امكان تبديل انواع database هاي ديگر به فرمت DBISAM
فرض كنيد ميخواهيد جداول خود را از Interbase ، SQL Server و يا Paradox بهDBISAM تبديل كنيد. براي انجام اين كار كافي است يك Alias به database مبدا تعريف و يا مسير محتوي فايلها database مبدا را براي DBISAM Transfer Utility مشخص كنيد . ظرف مدت كوتاهي ابزار فوق ساختار جداول و تمام دادههاي درون آنها را به فرمت DBISAM تبديل خواهد كرد.
دسترسي به Source Code كل سيستم!
هنگامي كه شما نسخه كامل DBISAM را نصب ميكنيد سورس كليه بخشهاي سيستم آن مانند سورس Server ، سورس Component ها، سورس ابزارهاي جانبي هم بهمراه سيستم اصلي نصب ميشوند. بدين ترتيب علاوه بر تمام مزاياي ديگر اين سيستم، هرگاه نياز به مطالعه نحوه كار يكي از بخشها، يا نياز به ايجاد تغيير در يك بخش از سيستم يا ابزارهاي جانبي آن داشتيد ميتوانيد براحتي اين كار را انجام دهيد. نكته فوقالعاده اين است كه حتي كامپوننتهاي استفاده شده براي ساختن ابزارهاي كمكي DBISAM نيز بهمراه سورس كاملشان بهمراه DBISAM (در قالب يك tab بنام DBISAM Utilities) در محيط IDE دلفي نصب ميشوند و شما بدون هيچگونه مشكلي ميتوانيد كل سيستم را هر وقت كه نياز داشتيد re-compile كنيد!
]اينم يواشكي بهتون بگم كه كامپوننتهاي موجود در DBISAM Utilities در حقيقت همان كامپوننتهاي معروف InfoPower هستند كه راست به چپ را نيز پشتيباني ميكنند! يادتون نره يه نگاهي هم به آنها بياندازيد[.
در مقالات بعدي اين سري شما را با نحوه ايجاد برنامههاي Desktop و Client/Server با استفاده از DBISAM آشنا خواهيم كرد.