نمایش نتایج 1 تا 1 از 1

نام تاپیک: مایکروسافت اس کیو ال سرور در مقابل اوراکل : یکسانند اما متفاوتند !

  1. #1
    کاربر دائمی آواتار رسول_57
    تاریخ عضویت
    تیر 1386
    محل زندگی
    تهران
    پست
    218

    مایکروسافت اس کیو ال سرور در مقابل اوراکل : یکسانند اما متفاوتند !

    امروزه سیستم های مدیریت پایگاه داده (RDBMS) مختلفی وجود دارد. احتمالا تا به حال در مورد اکسس، سی بیس، و مای اس کیو ال شنیده اید. اما دو پایگاه داده بسیار معروفی که به صورت گسترده مورد استفاده قرار می گیرند اوراکل و اس کیو ال سرور می باشند. اگرچه شباهت های زیادی بین این دو پلاتفورم موجود می باشد، اما اختلافات اساسی نیز بین آنها وجود دارد. در این مقاله به بررسی زبان مورد استفاده این دو پلاتفورم، چگونگی انجام تراکنش های کنترلی و سازماندهی اشیای پایگاه داده توسط آن دو می پردازیم.

    زبان

    احتمالا مهمترین تفاوت بین این دو سیستم مدیریت پایگاه داده زبان مورد استفاده آن دو است. اگرچه هر دوی آنها از نسخه ای از زبان ساختیافته پرس و جو (SQL) استفاده می کنند، اما پایگاه داده اس کیو ال سرور از زبان T SQL استفاده می کند که زبان اس کیو ال توسعه یافته توسط سی بیس است و مورد استفاده مایکروسافت قرار می گیرد. اوراکل از PL/SQL یا زبان پروسیژری اس کیو ال استفاده می کند. هر دوی این زبان ها گونه ای از زبان اس کیو ال می باشند و البته از سینتکس و قابلیت های متفاوتی بهره می برند. مهمترین تفاوت این دو زبان نحوه برخورد آنها با متغیرها، Stored Procedure ها ، و توابع می باشند. در اوراکل می توانیم پروسیژرها را در داخل پکیج ها بسته بندی کرده و مورد استفاده قرار دهیم در حالیکه چنین قابلیتی در اس کیو ال سرور وجود ندارد. بعضی بر این عقیده اند که PL SQL بسیار پیچیده تر و قدرتمند تر است در حالیکه T SQL بسیار ساده تر بوده و یادگیری آن آسان تر است.

    کنترل تراکنش

    دیگر تفاوت عمده بین اوراکل و اس کیو ال سرور مبحث کنترل تراکنش است. در این مقاله منظور از تراکنش عبارت است از گروهی از عملیات یا وظایف که به عنوان یک واحد منفرد در نظر گرفته می شود. به عنوان مثال مجموعه ای از پرس و جوهای اس کیو ال که به ویرایش رکوردهایی می پردازد که باید همزمان اصلاح شوند یک تراکنش نامیده می شود به گونه ایکه اگر یکی از به روزرسانی ها به درستی انجام نگردد کل عملیات با شکست روبرو می گردد. اس کیو ال سرور هر دستور را به صورت جدا اجرا می کند و بسیار بعید است که دستورات به حالت ابتدای خود رول بک داشته باشد حتی اگر اشتباهی نیز در سیستم به وجود بیاید. برای این که بتوانیم به صورت مناسبی دستورات را دسته بندی نماییم، از دستور Begin Transaction برای شروع تراکنش استفاده می کنیم و از دستور Commit برای پایان آن. دستور Commit داده های تغییر یافته را بر روی دیسک می نویسد و به تراکنش پایان می دهد. در داخل یک تراکنش دستور Rollback به معنای نادیده گرفتن تمام تغییرات انجام شده در بلوک تراکنش است. اگر از این دستور در کنار مبحث مدیریت خطاها به خوبی استفاده گردد، حفاظت مناسبی در مقابل خرابی داده ها ایجاد خواهد شد. بعد از ایکه یک دستور Commit اجرا گردد، دیگر نمی توان تغییرات انجام شده را نادیده گرفت.

    در اوراکل هر اتصال جدید به پایگاه داده به عنوان یک تراکنش جدید در نظر گرفته می شود. هنگامیکه پرس و جو ها اجرا گردند و دستورات نوشته شوند، تغییرات تنها در حافظه صورت می پذیرد و هیچ چیز اجرا نمی گردد تا این که به صورت واضحی دستور Commit اجرا گردد. بعد از اینکه دستور Commit اجرا گردید اولین دستوری که بعد از آن ظاهر می گردد شروع تراکنش جدید می باشد و فرآیند جدید شروع می گردد. در نتیجه انعطاف پذیری بیشتری به وجود می آید و کنترل خطا ساده تر سورت می پذیرد. دو اورکل هیچ تغییری به صورت واضح بر روی دیسک نوشته نمی شود مگر اینکه به صورت مشخصی دستور Commit توسط مدیر پایگاه داده اجرا گردد.

    سازمان دهی اشیای پایگاه داده

    دیگر تفاوتی که در اینجا در مورد آن به بررسی خواهیم پرداخت، نحوه سازماندهی اشیای پایگاه داده توسط سیستم مدیریت پایگاه داده است. اس کیو ال سرور اشیایی نظیر جداول، ویوها، و پروسیژرها را با نام پایگاه داده دسته بندی می کند. این قابلیت به یک کاربر داده می شود تا به یک پایگاه داده و اشیای آن دسترسی داشته باشد. همچنین در اس کیو ال سرور هر پایگاه داده یک فضای فایل خصوصی و غیر اشتراکی بر روی دیسک سخت دارد. در اوراکل، تمام اشیای پایگاه داده به وسیله اسکیماها دسته بندی می گردند. اگرچه این اشیا به صورت اشتراکی مورد استفاده قرار می گیرد اما هر کاربر می تواند به صورت محدود و با توجه به حق دسترسی داده شده به اسکیماها و جداول دسترسی داشته باشد.
    اگر بخواهیم به صورت خلاصه بگوییم، اوراکل و اس کیو ال سرور هر دو سیستم مدیریت پایگاه داده قدرتمندی می باشند. اگر چه تفاوتهایی دارند اما هر کدام به روش مناسبی می توانند مورد استفاده قرار بگیرند. هیچکدام بهتر از دیگری نیست، بلکه در هر موقعیتی یکی از آنها کاربرد مناسبتری دارد.
    آخرین ویرایش به وسیله رسول_57 : شنبه 10 مهر 1395 در 22:05 عصر دلیل: اوراکل، اس کیو ال سرور ، PL SQL

تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: جمعه 30 بهمن 1394, 13:36 عصر
  2. استخدام برنامه نویس شیرپوینت مسلط به اس کیو ال سرور در محیط دولتی بصورت تمام وقت
    نوشته شده توسط persianbadboy در بخش برنامه نویسی شیرپوینت (Sharepoint Development)
    پاسخ: 0
    آخرین پست: شنبه 08 آذر 1393, 12:14 عصر
  3. ایجاد پایگاه داده در اس کیو ال سرور
    نوشته شده توسط papa_fal در بخش PHP
    پاسخ: 3
    آخرین پست: یک شنبه 21 خرداد 1385, 14:09 عصر
  4. چطوری اس کیو ال سرور را در شبکه پیاده سازی کرد
    نوشته شده توسط DlphIran در بخش SQL Server
    پاسخ: 1
    آخرین پست: جمعه 01 اردیبهشت 1385, 12:44 عصر
  5. مشکل در نصب اس کیو ال سرور
    نوشته شده توسط هاجر در بخش SQL Server
    پاسخ: 8
    آخرین پست: چهارشنبه 07 بهمن 1383, 09:47 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •