امروز: پنجشنبه 9 فروردین 1403
دسته بندی محصولات
لینک دوستان

بررسی مدیریت اطلاعات به روش XML

بررسی مدیریت اطلاعات به روش XMLدسته: کامپیوتر و IT
بازدید: 2 بار
فرمت فایل: doc
حجم فایل: 22 کیلوبایت
تعداد صفحات فایل: 26

امروزه بیشتر شركتها در صنایع مختلف از مول Relational یا (RDBMS) برای ذخیره كردن و مدیریت اطلاعات مهم كاری و شغلی استفاده می كنند در حقیقت سه عرضه كننده مهم Data Base بزرگترین شركتهای نرم افزاری در كل دنیا هستند، oracle، CBM (DB2)، Microsoft (S21 Server) در طول 4 سال گذشته XML به طور غیر قابل بحثی هم برای تبادل داده ها و هم برای مدیریت contentها به

قیمت فایل فقط 19,500 تومان

خرید

امروزه بیشتر شركتها در صنایع مختلف از مول 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ها با جزئیات قابل استفاده اند چون هر بخش غیر كلیدی داده تنها در یك مكان حق قرار گرفتن دارد. (نرمال سازی)

b- ساختار داده ای XML

در مقایسه، بهترین راه نمایش داده متعلق به XML، ساختار درخت است و روابط بین عناصر نیز توسط Containment بیان می شود. هر نود درخت توسط یك عضو متعلق به XML مشخص می شود كه می تواند یك یا چند Attribute را در خود نگاه دارد درجه پیچیدگی این درخت  توسط یك DTD مشخص می شود (Document Type Definition) یا یك اسكمای XML.

توانایی XML بعضی وقتها نقطه ضعف آن است چون می تواند یك قالب همه منظوره داشته باشد و یك ساختاری پایه كه هر عنصر داده ای را تقریباً همه جا نشان دهد، در مقابل می تواند به عنوان یك ساختار سلسله مراتبی محكم در Application های دیگر مطرح شود كه همه اینها بستگی به DTD یا اسكمای XML ای دارد كه آن را مشخص می كند. اگرچه ذاتاً نمایش دادن داده های رابطه ای برای XML سخت است چون به سختی می تواند مجموعه ای از روابط موجود بین جداول رابطه ای در یك سند XML را نمایش دهند Constraint هایی كه در RDBMS وجود دارند و باعث می شوند كه بسیار كارا باشد در XML وجود ندارند به علاوه قالب بندی شل XML به كلی با استراتژیهای كارای XML ضدیت دارد بنابراین مپ كردن یك سند XML به یك پایگاه داده رابطه ای در بیشتر حالتها پیچیده است همچنین نیاز به یكسری تخصصها و مهارتها هم برای RDMS  و هم طراحی داده های XML هست و همینطور یك متد برای مپ كردن هر عنصر از اسكمای XML به اسكمای
Data Base.

4- XML Schemas VS.DTDS

برای رسیدن به مقصودمان باید راهی بیابیم برای تعریف دقیق ساختار درختی XML قبل از شروع به map كردن آن، بخشی از توانایی XML از انعطاف پذیری آن در ساختن عناصر و Attribnte ها ناشی می شود بنابراین برای تعریف و معتبر كردن ساختار XML به فایل دیگری نیاز داریم در ابتدا به این خاطر كه XML از نسخه قدیمی تری به نام SGML پدید آمده تنها توسط DTD ها تعریف می شود.

امروزه، با وجود اینكه اكثر سندهای XML توسط DTDها تعریف می شوند، اسكماهای XML كه توسط W3C تعریف شده اند- به جای DTDها جایگزین می‌شوند تا بر محدودیتهایی كه ماهیتاً در DTDها وجود داشت غلبه كنند به این دلیل مایكروسافت برای خودش فرمت و شكلی از اسكمای XML تعریف كرده XDR (XML Data Reduced).

ممكن است ظرف 3-2 سال آینده  اسكمای XML راهی جهانی شود برای نشان دادن ساختار اطلاعات مربوط به XML در مقایسه با DTDها كه از Syntax متفاوتی استفاده می كنند اسكماهای XML تنها یك Document دیگر از XML است در نتیجه قابل توسعه است. به علاوه آنها از مجموعه ارزشمندی از انواع داده و محدودیتهای عناصر كه خیلی مهمند پشتیبانی می كنند همچنین می توانیم تعداد عناصر تكرار شده را هنگامی كه داده تعریف می شود نگاه داریم كه این كار در DTDها ممكن نبود.

به این خاطر كه اسكماهای XML، همان داكیومنتهای XML هستند به راحتی می‌توانند توسط Style Sheet های XML نمایش داده شوند برای نشان دادن سازگاری سریع این استاندارد جدید بعضی از XMLها با گروهها كار می كنند مانند Legal XML كه در نظر دارد حركتی به سمت XML Schema داشته باشد. در بقیه این مقاله ها از XML Schema به جای DTD استفاده می كنیم به خاطر مزایایی كه در بالا یادآور شدیم و همینطور برای آشنا كردن خوانندگان با استاندارد جدید.

در بخش 2 از كلمات كلیدی Chice و Sequence استفاده خواهیم كرد كه توسط اسكمای XML W3C تعریف شده است.

II. Unmarshaling به وسیله مثالها:

XML Schema پیش از 44 نوع داده (Data Type) درون خود دارد در مقایسه با DTD كه تعداد كمی Data Type دارد، به عنوان پیامد انواع داده XML Schema می‌توانند به درستی به نوع داده های مدل Relational Data Base، map شوند.

1- mapping مبنی بر Table و جدول

قبل از Unmarshaling سندهای پیچیده XML به مدل Relational Data Base، با آسانترین تغییر شكل به یك Relational Data Base شروع می كنیم: Mapping مبتی بر جدول

در زیر سند XML را Unmarshall می كنیم كه دو سری از كارمندان را در یك سازمان لیست می كند.

همانطور كه طراحی شده این داده می تواند به آسانی در یك جدول Relationa مانند زیر Insert شود.

به خاطر Unique بودن، EMPND  می تواند به عنوان كلید اصلی در این جدول استفاده شود همچنین اگر نتوانستیم یك ستون یا تركیبی از چند ستون بیابیم كه خاصیت Unique بودن را داشته باشد خودمان باید یك ستون اضافی ایجاد كنیم كه نقش كلید اصلی را بازی كند.

هنگامی كه به Relatioonal Data Base، map می كنیم، Attributeهای XML می‌توانند به ستونها مپ شوند دقیقاً با همان روشی كه عناصر XML می توانند مپ شوند هر دوی آنها یك نوع از رابطه را برای RDBMS نمایش می دهند: (Containment) بنابراین داده متعلق به XML می توانند به همین شكل map شود.

در واقع روش آخر بهتر است چون فشرده تر است و به جدول Relational، نزدیكتر است بنابراین آسان تر اینست كه سندهای XML را با اسكمای XML مپ كنیم به شكل زیر كه یك عنصر تركیبی با لیستی منحصر به فرد از Attribute ها را نشان می دهد.

این اسكمای XML حداقل سندهای XML را نشان می دهد با تنها یك نوع تركیبی و با لیستی از Attribute های تكراری.

2- Exressing Containment

اكثر سندهای XML ساختار پیچیده تر و سطوح Containment سخت تری از مثال بالا دارند فرض می كنیم كه سند XML شامل آدرس خانه هر كارمند است.

طابق با خصوصایت W3C، یك نوع پیچیده دارای یك یا چند عنصر است، مندرجات تركیبی و بعضی از Attributeها جایی كه یك نوع ساده مقدار داده ای منفردی را نگاه می دارد. برای هر عنصر با نوع ساده، نیازمند این هستیم كه جدول جدیدی بسازیم كه داده مطابق با آن را نگاه دارد كه در این مثال اطلاعات مربوط به آدرس خانه كارمند است. به عنوان یك قانون عمومی یك نوع Complex توسط كلید اصلی به جدول map می شود و یك نوع Single (ساده) به یك ستون map می‌شود، در اغلب موارد ما مطمئن نیستیم كه مقدار یك عنصر خاص XML، منحصر به فرد باشد پس باید هنگام map كردن یك كلید اصلی ایجاد كنیم.

بنابراین همزمان مجبوریم كه یك كلید اصلی ایجاد كنیم كه مقدارش خارج از جداول Relational بی معنی است تا بتوانیم قانون جامعیت بازگشتی را حفظ كنیم. هنگام Import كردن داكیومنتهای Complex، XML تعداد بسیاری از كلیدها ممكن است ساخته شوند و Join های بسیاری ممكن است صورت بگیرد اگر تعداد Join بین جداول زیاد شود، باعث كاهش كارایی می شود و همینطور باعث می شود كه اسكمای Data Base بسیار پیچیده شود و از حالت قابل نگهداری بیرون بیاید.

توجه: برای اینكه بتوانیم Primary Key را به صورت خودكار در یك
Relational Data Base ایجاد كنیم می توانیم از نوع داده Identity استفاده كنیم كه توسط اكثر پایگاههای داده رابطه ای پشتیبانی می شود.

هنگامی كه عنصری شامل عنصر دیگری است و یا اینكه Attribute كه تنها یك پدر دارد از همان نوع خودش و هیچ عنصر تكراری ندارد رابطه ای كه به آن نیاز داریم از نوع یك به یك است همینطور می توانیم یك كلید خارجی در هر كدام از دو جدول انتخاب كنیم دو مثال ما، می خواهیم كلید خارجی را به جدول Home Adress اضافه كنیم كه با آن به جدول كارمندان ارجاع داشته باشیم.

قیمت فایل فقط 19,500 تومان

خرید

برچسب ها : مدیریت اطلاعات , مدیریت , مبانی XML , سرویسهای وب

نظرات کاربران در مورد این کالا
تا کنون هیچ نظری درباره این کالا ثبت نگردیده است.
ارسال نظر