مشخصات این فایل
عنوان: مدیریت اطلاعات به روش XML
فرمت فایل : word( قابل ویرایش)
تعداد صفحات: 24
این مقاله درمورد مدیریت اطلاعات به روش XML می باشد.
خلاصه آنچه در مقاله مدیریت اطلاعات به روش XML می خوانید :
- 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 اضافه کنیم که با آن به جدول کارمندان ارجاع داشته باشیم.
یا برای پردازش سریعتر می توانیم یک ستون اضافه کنیم که به Home Address در جدول Employe ارجاع داشته باشیم.
3- بعضی از قوانین ساده Mapping
a- ترتیب عناصر در یک سند XML با ترتیب ستونها در جدول نشان داده میشود و ترتیب عناصر و Attribute در اسکمای XML توسط کلمه کلیدی <xsd:Sequence> بیان می شود برای اینکه همان ترتیبی که داده هادر مدل Relational دارند حفظ شود باید مطمئن شویم که سطرها توسط Primarykag (کلید اصلی) مرتب شده اند و همان ترتیب عناصر XML را دنبال می کنند. اگر چنین نبود باید یک ستون اضافه کنیم که اعداد صحیحی را در خود دارد که این ترتیب را مطابقت می دهد.
b- عناصر دلخواه XML
اگر بخواهیم نشان دهیم که یک عنصر XML دلخواه است ستون نظیر آن را Anllable می کنیم برای مثال اگر Ittredate یک Attribute دلخواه باشد (minoccurs=0) ستون مپ شده باید قابلیت Null شدن را داشته باشد. مدل XML آن به صورت زیر است.
در مثال ما عنصر Jub ممکن است تنها شامل عناصر زیر باشد.
CEO، CTO و CFO و DIRECTOR و MANAEER و GNGINEER و SALESMAN، CONSULTANT و ASSISTANT.
اسکمای XML زیر این روش را نشان می دهد.
در پایگاه داده رابطه ای ما می توانیم یک جدول اضافی ایجاد کنیم که تمام این مقادیر را شامل شود و توسط کلیدهای خارجی و اصلی به آنها ارجاع کنیم.
4- المانهای تکراری (یا تکرار شونده) XML (کاردینالیتی)
اکنون متن XMLها، ما را از کامپیوتری که هر یک از کارمندان به کار می گیرند، آگاه می سازد. اکثر کارمندان تنها یک کامپیوتر دارند، اما مدیر سیستم: جنیفر، سه تا دارد.
اگر تعداد کامپیوترها محدود به سه کامپیوتر شود، ما سه ستون برای نوع کامپیوتر مورد استفاده کارمندان، در جدول کارمندان خواهیم داشت. کامپیوتر شماره 1، کامپیوتر شماره 2، کامپیوتر شماره 3. اگرچه اشکال بزرگی در این روش وجود دارد. برای مثال، اگر حد کامپیوترها برای یک کارمند از سه تجاوز کند، ساختار جدول نیاز به اصلاح خواهد داشت که منجر به مسائل عدیده ای می شود. رابطه ای یک به چند با استفاده از کلید خارجی به خوبی بیان می شوند.
تعداد المانهای تکراری می تواند بی کران باشد.
این با موارد بسیاری از المانهای تکراری سر و کار خواهد داشت. اما ما چه اقدامی انجام می دهیم وقتی که المانهای تکراری، المانهای والد متعددی دارند؟
برای مثال، کارمندان ممکن نیست که تنها یکبار از کامپیوترهای همکاران استفاده کرده باشند. مشاورین حتی ممکن است که هنگام کار روی یک قرارداد طولانی مدت، کامپیوترها را قرض بگیرند، یا ممکن است آزمایشگاه تستی متشکل از کامپیوترهای مورد استفاده کارکنان مختلف برقرار شود.
با توجه به اینکه ما نمی توانیم تعداد نامحدودی کلید خارجی به جدول کامپیوتر خود اضافه کنیم، بنابراین لازم است جدولی برای مرتبط کرد هر کامپیوتر به کاربر یا مکان قرارگیری اش، داشته باشیم.
5- اشاره گرهای ID/IDREF
اگر شرکتی معیار سنجشی روی COMPAQ داشته باشد، متن XML اصلی میتواند، برای اجتناب از تکرار المانهای یکسان XML از ID و IDREF استفاده کند.
در حقیقت، با توجه به اینکه محتوای اشاره گرها و کلیدها خیلی با پایگاه داده رابطهای مانوس است، بهتر است تا المانهای XML ID را به کلیدهای اصلی متناظر کنیم البته اگر در مورد یکتایی آنها اطمینان داریم.
6- مقدار درهم
مقدار درهم در متن های XML سخت، کمیاب است نظر به اینکه توسط صنایع مختلفی، مثل هایی جهت مبادله داده تعریف شده اند. هرحال استفاده از آن در مدیریت مقادیر و علاوه بر این به طور خاص در صنعت چاپ، بسیار متعارف است. در حقیقت HTML تقریباً به صورت صریح از مقدار درهم ساخته شده است.
در مثال جاری، به هر کارمندی اجازه داده شده است تا برای معرفی خود تعدادی عبارت به صفحه وب شرکت اضافه کنند. این معرفی سپس در هر یک از رکوردهای XML کارمندان قرار می گیرد. آلن مایل است این اطلاعات را در مورد خودش به نمایش گذارد.
به صفحه وب آلن خوش آمدید. من مدیر برنامه نویس شرکتی هستم که روی تکنولوژی نگاشت XML/RDB متمرکز شده است. من واقعاً از کار با تیم مهندسیمان لذت می برم که گروهی با هوش و آرامند.
در HTML
در XML
برای کمک به ما در نگاشت این متن به پایگاه داده رابطه ای، بهتر است همه المانهای متنی را با کد اضافی <String> مشخص کنیم.
پس حالا ما داریم:
ساده ترین راه نگاشت این فایل XML، بیان دنباله ای از تگ های مختلف با لحاظ کردن ترتیب سطور جدول جدید است. البته به یک ستون اضافی هم برای تعیین نوع تگ استفاده شده HTML احتیاج داریم.
برای اجتناب از تکرار این المانها ما می توانیم یک جدول Look Up برای هر یک از تگ های HTML استفاده شده، بسازیم.
اگر TAGNAME همیشه مقادیر مختلفی داشته باشد، ما فقط جدول WEBPAGE را خواهیم داشت و TAGNAME جایگزین TAGNO می شود.
....
بخشی از فهرست مطالب مقاله مدیریت اطلاعات به روش XML
I. مبانی XML/ RDB
a- تبادل داده ها
b- XML Data Repositorg
c- امکان پیشرفت Relational Data توسط سرویسهای وب
3- مدل Relational در مقابل نمایش سلسله مراتبی Data:
a- ساختار داده ای Relational:
b- ساختار داده ای XML
4- XML Schemas VS.DTDS
II. Unmarshaling به وسیله مثالها:
2- Exressing Containment
3- بعضی از قوانین ساده Mapping
b- عناصر دلخواه XML
4- المانهای تکراری (یا تکرار شونده) XML (کاردینالیتی)
5- اشاره گرهای ID/IDREF
6- مقدار درهم
7- ارتباط چرخه ای
1- خلاصه
2- استانداردهای کد نویسی
3- قراردادن جداول پایگاه داده رابطه ای در جاوا
4- محدودیتهای این راه برنامه نویس
IV. وارد کردن XML به پایگاه داده رابطه ای با JAllora
1- Allora Mapper
2- Allora Engine
3- ابزارهای دیگر
4- JAllora خلاصه
نتیجه:
دانلود مقاله مدیریت اطلاعات به روش XML