امروزه بیشتر شرکتها در صنایع مختلف از مول Relational یا (RDBMS) برای ذخیره کردن و مدیریت اطلاعات مهم کاری و شغلی استفاده می کنند. در حقیقت سه عرضه کننده مهم Data Base بزرگترین شرکتهای نرم افزاری در کل دنیا هستند، oracle، CBM (DB2)، Microsoft (S21 Server) در طول 4 سال گذشته XML به طور غیر قابل بحثی هم برای تبادل داده ها و هم برای مدیریت contentها به صورت استاندارد درآمده است. بنابراین بسیاری از توسعهدهندگانData Base و Applicationها با این مساله روبرو شده اند که داده های XML را به شکل relational تبدیل کنند.
بعد از اینکه دلایل imput کردن (اکیومنتهای XML به Relational Data Base را مطرح کردیم، با استفاده از مثالهای ساده به صورت مفهومی شرح خواهیم داد که چگونه هر XML Document را به Relational Data Base map کنیم، در بخش آخر که به توسعه دهندگان Java اختصاص می یابد شرح خواهیم داد که چگونه XML را به طول رابطه ای Data Base مپ کنیم، JDBC و SAXAPI برای هر برنامهنویس یک راه جهانی برای mport کردن داکیومنتهای XML به مدل رابطهای پایگاه داده فراهم
می کنند.
I. مبانی XML/ RDB
چرا Data Base های رابطه ای و XML تکمیل کننده یکدیگر هستند به جای اینکه در رقابت با یکدیگر باشند؟ XML تاثیر بسیار وسیعی روی تکنولوژی صنعت داشته است تا آنجا که بسیاری فکر می کنند Data Base های XML سرانجام جایگزین بیشتر RDBMS های رایج خواهد شد. حالا که حرفه ای های IT شروع به پیاده سازی راه حلهای قابل دوام برای XML کرده اند در این زمینه هیجان و برانگیختگی برای تلاش به وجود آمده است.
با توجه به این تکنولوژی جدید به این نتیجه می رسیم که XML و RDBMS میتوانند به عنوان تکنولوژیهای تکمیل کننده هم مطرح شوند در واقع بهایی که برای استفاده هوشمندانه از این دو تکنولوژی پرداخته می شود قابل توجه است برای اینکه توانایی های منحصر به فرد این دو دارای جنبه های بسیار متنوعی است.
Relational Data Base ها بلند آوازه هستند به خاطر قابلیت جستجو، استفاده از SQL و برای پرس و جوی موثر و کارایی چون از indexها استفاده می کند آنها Data را به طور کار آمدی ذخیره می کنند بدون هیچ افزدنگی. چون هر واحد از اطلاعات در یک مکان ذخیره شده است (نرمال سازی).
قابلیت اطمینان آنها و قابلیت سنجش آنها برابر است و می توانند در دسترس باشند برای تعداد زیادی از کاربردهای همروند به علاوه با استفاده از مکانیزم های loclcing و caching دارای مدیریت قوی و جنبه های امنیتی بالایی هستند.
هرچند با وجود ابتکارات اخیر در زمینه XML و تکامل استانداردهای پدید آمده جدید مثل xquerg هنوز هم XML از رقابت با تکنولوژی کامل و چندین سالهای مانند RDBMS به عنوان یک قالب برای Data Base دور است.
Abstract کردن دستورالعملهای قابل خواندن توسط ماشین به متنهای قابل خواندن توسط انسان بدون قیمت به دست نمی آید و XML هنوز به عنوان مخزن ذخیره سازی Data و مکانیزم دسترسی کم بازده است توانایی های XML در جنبه های مختلفی قرار گرفته اند.
1- Text Base است. 2- قابل خواندن توسط انسان است. 3- مستقل از Platform است و 4- Open Standard است در واقع برای همه Systemها کم کم به صورت Lingua France در می آید.
ماهیت خود تشریح کننده آن باعث می شود که داده های ساخت یافته را بدون هیچ اطلاعات اضافی تشریح کند.
ساختار آن اصلی است. و برای یک سند XML باعث صحت و درستی انتقال و ارائه بیشتر آن می شود. اینکه بیشتر از هر استاندارد دیگری قابلیت درک شدن مستقیم را دارد از پیش معلوم است که در آینده به دلیل قابلیت اطمینان، قابل سنجش بودن و کارایی بالایی Save شدن Dataها در مول Relational حالا دیگر ضروری است که بتوانیم XML را به Relational Data Base، map کنیم.
2- چرا مستندات XML را به Relational Data Base، import کنیم؟
a- تبادل داده ها
حرفه ها در سراسر صنایع بر این تلاش هستند که XML را سازگار کنند با اینکه Data را بین Application ها (A2A) و سازمانها (B2B) به اشتراک بگذارد XML یک راه بدیهی است برای سیستمهای ناهمگن (Heterogenous) که داده ها را در شبکه به اشتراک بگذارند. به علاوه به عنوان روش استانداردی برای ارسال و دریافت داده ها توسط شرکتهای نرم افزاری پذیرفته می شود. در واقع پیام رسانی XML به صورت تصاعدی جایگزین قالب اختصاصی EDI می شود به منظور انجام معاملات Bussiness to Bussiness ماهیت خود تشریحی XML باعث تبادل آسان تراکنشی اطلاعات بین شرکای حرفه ای سیستمهای ناسازگار می شود، بنابراین به طور کلی ارتباطات B2B را آسان می کند و آن را جایگزین EDI می کند.
b- XML Data Repositorg
جنبه پرس و جویی قدرتمند RDBMS می توانند مثل یک اهرم به کار رود هنگام تجزیه سندهای بزرگ اگر اندازه فایلهای XML از یک حد مشخصی تجاوز کند یا خیلی زیاد باشد، سودمند است که اطلاعات را به قالبی که بتواند به طور موثر بازیابی شود، تبدیل کنیم.
بزرگترین رقیبان در زمینه XML Data Base، Oracle، S2L Server هستند.
متاسفانه اینترفیس RDMS XML از یک فروشنده به فروشنده دیگر متفاوت است و قابل حمل نیست.
به عنوان باقیمانده این مقاله سعی دارد ثابت کند که تفاوت ماهیتی بین شکل ذخیرهسازی داده در این دو فرم باعث می شود map کردن یکی به دیگری بسیار سخت شود و import کردن سندهای XML به Relational Data Base لازم است.
هرچند که این یک پروسه بحرانی است که تجارت انتخاب کرده است.
c- امکان پیشرفت Relational Data توسط سرویسهای وب
سرویسهای وب همان علاقه اولیه ای ار که Java، S سال پیش XML دو سال پیش در صنعت کامپیوتر داشت را تجربه می کنند.
و توسط تمام غولهای نرم افزار مثل Inicrosoft، NET و FBM و Sun و Oracle و HP و… پشتیبانی می شود. یک سرویس وب یک Application Interface وابسته به برنامه را توسط Remote Application ها قابل دستیابی می کند همانطور که یک HTML Server یک واسط کاربر را برای Bruser قابل دستیابی می کند.
سرویسهای وب با استفاده از یک پروتکل مبنی بر XML به نام Simple Abject Access Protocol (SOAP) قابل دستیابی می شوند.
همچنین Data به عنوان نوع XML باز گردانده می شود. بنابراین با استفاده از سرویسهای وب داده های XML می توانند به صورت Transparent با Data Base، import شوند.
توسعه دهندگانی که قصد دارند که از پایگاه داده Relation شان به عنوان یک سرویس وب استفاده کنند، قانونهای Mapping این مقاله را بسیار آموزنده یافته اند.
3- مدل Relational در مقابل نمایش سلسله مراتبی Data:
هنگامی که به map کردن XML به یک Relational Data Base نگاه می کنیم با دو ساختار داده ای کاملاً متفاوت مواجه می شویم.
a- ساختار داده ای Relational:
یک پایگاه داده Relational به بهترین نحو به عنوان یک اسکمای Data Base توصیف شده است و توسط موجودیتهای گوناگون (جداول) که ساخته شده برای پاسخگویی به نیازهای کاربران تعریف شده است Relational Data Base توسط مجموعه ای از جداول که توسط روابط یک به یک، یک به چند و چند به چند به هم پیوند داده می شوند نشان داده می شود هر جدول از مجموعه ثابتی از ستونهای ثابت (که فیلدهم نامیده می شوند) ساخته می شوند که همان Attoibute ها در
Data Model هستند.
همچنین تعداد نامحدودی از سطرها (یا رکوردها) که در هر جدول وجود دارند. یک پایگاه داده رابطهی از سیارها از Data Type ها پشتیبانی می کند هر جدول با یک کلید منحصر به فرد (Primary Key) مشخص می شود که بقیه جداول می توانند از طریق کلید خارجی خودشان به این کلید اصلی ارجاع داشته باشند طراحی جداول Relational، Data Base را جواب تمام نیازهای موجود می کند وتوسط نرمال سازی تمام Dataها با جزئیات قابل استفاده اند چون هر بخش غیر کلیدی داده تنها در یک مکان حق قرار گرفتن دارد. (نرمال سازی)