عمومی

مقایسه دیتابیس MS-SQL با دیگر دیتابیس ها از لحاظ Database migration

برای ایجاد یک بانک اطلاعاتی در سطح کلان کدام برنامه مدیریت پایگاه داده را استفاده نماییم ؟ از میان برنامه های مدیریتی مانند MS-SQL و Oracle و MYSQL و … کدام یک مناسب تر است ؟ پایگاه های داده هر کدام دارای مزیتها و معایبی هستند که در ادامه توضیح داده خواهد شد.

یکی از مباحثی که پایگاه داده ها در آن تفاوت بسزایی دارند Database Migration می باشد. برخی اوقات لازم است پایگاه داده از یک سیستم و یا یک سرور برروی سرور دیگر جابجا شود و یا ممکن است با بالابردن نسخه نرم افزار احتیاج به جابجایی پیدا کنید. این عملیات به عاملهای متعددی بستگی دارد. بعنوان مثال این عوامل عبارتند از حجم Dtabase ، زبانهای استفاده شده در آن و تکنولوژی ذخیره سازی اطلاعات در جداول و …

برای انجام این انتقال می توان از برنامه های جانبی استفاده نمود یکی از این برنامه ها DB Convert نام دارد. البته به این نکته نیز باید اشاره نمود که استفاده از برنامه های جانبی مشکلاتی را هم بهمراه دارد. بعنوان مثال این برنامه ها جداول سیستمی را تبدیل نمی نمایند. کلیدهای خارجی به جدول مورد نظر که قبلا تعریف شده است اشاره نمی نماید و Views را نیز تبدیل نمی کند.

انجام انتقال از طریق انتقال الگو انجام می پذیرد. این الگو شامل تعاریف جداول ، views ، شاخص ها ، کاربران ، محدودیت ها و بقیه اشیاء دیتابیس می باشد. اکثر پایگاه داده ها در این عوامل مشترک هستند. این پایگاه داده ها از لحاظ تشابه اشیاء ، نام اشیاء و طراحی جداول مورد بررسی قرار خواهند گرفت.

تشابهات زیادی بین طرح اشیاء در پایگاه داده اوراکل و MSSQL وجود دارد. در جدول ذیل برخی تفاوتها را مشاهده خواهید نمود :

Oracle

Microsoft SQL Server

Database

Database

Schema

Database and database owner (DBO)

Tablespace

Database

User

User

Role

Group/Role

Table

Table

Temporary tables

Temporary tables

Cluster

N/A

Column-level check constraint

Column-level check constraint

Column default

Column default

Unique key

Unique key or identity property for a column

Primary key

Primary key

Foreign key

Foreign key

Index

Non-unique index

PL/SQL Procedure

Transact-SQL (T-SQL) stored procedure

PL/SQL Function

T-SQL stored procedure

Packages

N/A

AFTER triggers

Triggers

BEFORE triggers

Complex rules

Triggers for each row

N/A

Synonyms

N/A

Sequences

Identity property for a column

Snapshot

N/A

View

View

 

لغات رزرو شده در اوراکل و MS-SQL با یکدیگر متفاوت است. اکثر لغات رزرو شده توسط اوراکل اشیا معتبر و در MSSQL ستون نام ها می باشد. برای مثال DATE  یک لغت رزرو شده در اوراکل می باشد. اما این کلمه در MSSQL هیچ تعریفی ندارد. بعبارت دیگر هیچ ستونی را نمی توانید به نام DATE در اوراکل ایجاد نمایید. اما این ستون با همین نام را می توانید در MSSQL ایجاد نمایید. این قوانین مشکلاتی را نیز در انتقال پایگاه داده ها به یکدیگر ایجاد می نماید. [irp posts=”۹۱۰۴″ name=”ایمن سازی Connection String در هنگام استفاده از کنترل های Data Source در MS-Sql Server 2008″]

برای حل این موارد ، باید نام های یکسان برای برخی جداول انتخاب نمایید تا در انتقال پایگاه داده ها مشکلی بوجود نیاید.

عمده مشکلات بوجود آمده در انتقال پایگاه داده بین برنامه های مدیریت پایگاه داده عبارتند از :

  • Entity Integrity Constraints
  • Referential Integrity Constraints
  • Unique Key Constraints
  • Check Constraints

برای جلوگیری از حذف اطلاعات هنگام انتقال به پایگاههای دیگر باید به عواملی غیر مشترک در برنامه های مختلف دقت نمایید. تمام این محدودیت ها باعث می شود اطلاعات از بین رفته  و یا در جدال متفاوتی قرار گیرند.

استفاده از هر برنامه مدیریت پایگاه داده مانند اوراکل ، MSSQL ، Mysql و سایبیس و … هر کدام دارای معایب و مزایایی هنگام انتقال داده دارند. با توجه به فراگیر بودن MSSQL در دنیای IT ، می توان به جرات گفت در صورت بروز مشکل برای نقل و انتقال پایگاه داده راهکارها و برنامه های جانبی  بسیاری در اختیار کاربر قرار خواهد داشت تا در مقایسه با دیگر دیتابیس ها. [irp posts=”۸۶۴۲″ name=”تبدیل پایگاه داده های MySQL ، SQL Server ، Oracle ، Microsoft Access به یکدیگر”]

ایران هاست

مشخصات مدیر

دیدگاهتان را بنویسید

نوشته های مشابه

دکمه بازگشت به بالا