PDA

View Full Version : سوال: XML یا SQL ؟



rahe behtari hast
پنج شنبه 09 آذر 1391, 14:19 عصر
دوستان من یک برنامه نوشتم که کاربرهای متفاوتی میتونن ازش استفاده کنن. باید این قابلیت رو داشته باشه که هر کاربر وقتی جدول رو پر کرد بتونه یک بک آپ ازش بگیره تا دفعات بعد برای خودش نگه داره

من اول قصدم این بود که پایگاه داده ام رو از SQL بگیرم و برای بک آپ گیری از XML استفاده کنم. بعد به ذهنم رسید کلا SQL رو بذارم کنار. چون هم موقع ستاپ ساختن مطمئن نیست هم اطلاعات داخل جداول محرمانه نیستن.

اما به نظر میاد XML جواب نمیده چون

1- داخل XML نمیتونم هیچ ستونی از جدول رو کلید قرار بدم و از ورودی تکراری جلوگیری کنم
2- داخل XML نمیتونم برای هر ستون یک نوع مشخص کنم و از ورود اطلاعات اشتباه جلوگیری کنم
3- از نظر سرعت کدوم بهتره ؟
4- من یک چیزی رو نمیفهمم. اگر اشتباه نکنم داخل XML ما میتونیم اطلاعات رو به گونه ای وارد کنیم که اصلا حالت جدول نداشته باشه مثلا شبیه یک درخت باشه. بعد کاربردش چیه؟
5- برای کار من که صرفا نیاز به یک بکاپ گیری دارم پیشنهادتون چیه؟

rahe behtari hast
پنج شنبه 09 آذر 1391, 18:56 عصر
بچه ها کسی جواب نمیده؟

rahe behtari hast
جمعه 10 آذر 1391, 18:36 عصر
دوستان یک نفر نیست من رو راهنمایی کنه؟

harani
جمعه 10 آذر 1391, 19:10 عصر
فرقی نداره ولی SQL تو حجمهای بالاتر برای دسترسی سریعتر به اطلاعات اولویت اولو داره .XML یک فایل متنی استاندارد .

مهندس هاشمیان در کتاب خودش اینطوری گفته :

در بسیاری از موارد استفاده از یک بانک اطلاعاتی بهترین گزینه برای انجام این کار به شمار می رود. زیرا با استفاده از آن برنامه ها میتوانند به سرعت دسترسی داشته باشند و نیز از امکاناتی که آن موتور بانک اطلاعاتی (مانند Access و یا SQLServer) ارائه میدهد استفاده کنند . در بعضی شرایط نیز, مانند نوشتن یک برنامه گرافیکی , بهتر است که داده ها در یک فایل با فرمت خاص ذخیرع شوند. دلیل این مورد نیز این بود که این برنامه ها اغلب تمایل داشتند که ساده باشند و نمیخئاستند با استفاده از یک بانک اطلاعاتی , کاربران خود را درگیر مسائل مربوط به آن بکنند.
در این گونه موارد,XML روش جدیدی را برای ذخیره کردن اطلاعات برنامه ارائه میدهد . که البته قالب آن نیز میتواند مخصوص آن برنامه باشد تفاوتی که این روش با روش ذخیره کردن داده ها در یک فایل متنی مانند .doc دارد در این است که داده هایی که در XML ذخیره میشوند به صورت استانداد هستند.

منم خودم با دیتابیس مشکل دارم و با XML راحترم ولی بدون که هیچ چیزی جای دیتابیسو مخصوصاً SQLServer رو نمیتونه بگیره .

نمیدونم که جوابتو دادم یا نه امیدوارم تونسته باشم کمکتون کنم.

Mahmoud Zaad
جمعه 10 آذر 1391, 20:29 عصر
سلام
1- می تونید، این صفحه (http://www.c-sharpcorner.com/uploadfile/e628d9/reading-and-manipulating-an-xml-file-using-C-Sharp-net-including-images/) رو ببینید.
2- ورودی ها رو از طریق تکست باکس ها و کنترل هایی که اطلاعاتشون رو به بانک می فرستید کنترل کنید. مثلاً اصلاً اجازه ندید کاربر متن وارد کنه و مجبورش کنید فقط عدد وارد کنه یا مثلاً طول رشته بیشتر از x نباشه و ...
3- بستگی به حجم اطلاعات داره، اگه کار سبک هست استفاده از Xml مشکلی نداره چون گفتید امنیت هم براتون مهم نیست. به قول آقای harani به نقل از آقای هاشمیان! با sql سرور و مشکلاتش هم درگیر نمی شید هر چند استفاده از Xml هم ممکنه مسائلی داشته باشه. کلاً خیالت رو راحت کنم، کار بدون دردسر نداریم!
4- درسته. همون نمونه رو ببینید.
5- برو به 3!