Data integrity چیست، نقش یکپارچگی داده دیتابیس های SQL Server
در ساخت و طراحی دیتابیس های SQL Server، حفظ یکپارچگی ، اعتبار و نظم داده ها از اهمیت بسیار بالایی برخوردار است. در این مقاله می خوانید یکپارچگی داده و یا Data Integrity چیست و چه تاثیری بر روی دیتابیس SQL Server دارد.
Data integrity چیست؟
Data integrity یا همان یکپارچگی داده ها، از صحت کیفیت داده ها اطمینان حاصل می نماید و همچنین به شما کمک می کند تا داده های خود را بدون تغییر و منحصر بفرد حفظ نمایید. در صورتیکه طراح دیتابیس در زمان ساخت اولیه بانک اطلاعاتی خود با توجه به تحلیل به دست آمده از پروژه خود، تمهیدات مناسبی را برای این امر در نظر نگیرد، بانک اطلاعاتی او بعد ها به مشکلات بزرگی بر خواهد خورد. یکی از راه های حفظ یکپارچگی داده در این دیتابیس ها استفاده از تکنیک های Data Integrity می باشد.
در ادامه برخی از راه های اطمینان از یکپارچگی داده (Data Integrity) شرح داده شده است.
روش های اطمینان از یکپارچگی داده ها چیست؟
حال با یکپارچگی داده ها آشنا شده اید، باید بدانید روش های اعمال Data Integrity کدامند؟
۱- Data Type
می توان مطمئن بود تا اطلاعات و داده های ورودی در ستون های بانک اطلاعاتی مورد قبول واقع می شوند و هیچ شخصی نمی تواند اطلاعاتی را خارج از محدوده مشخص شده وارد کند. برای مثال یک جدول با نوع Integer هیچ گاه نمی تواند داده های نوع String را قبول کند.
۲- Not Null
تعریف Not Null مشخص می کند که یک ستون نمی تواند مقدار Null یا خالی را به خود بگیرد. با استفاده از این تعریف می توان کاربر یا شخص وارد کننده اطلاعات را مجاب نمود که به هیچ وجه ستون مورد نظر را خالی رها نکند.
۳- Default
تعریف Default مشخص می کند، در صورتیکه کاربر مقدار خاصی را برای ستون تعریف نکرد، برنامه مقدار آن را به صورت پیش فرض در نظر بگیرد. برای مثال در صورتیکه کاربر هیچ اطلاعاتی را در ستون های نوع Integer وارد نکند، مقدار آن به طور پیش فرض صفر در نظر گرفته می شود.
۴- Identity
با استفاده از مشخه Identity می توان یکی از ستون ها را به عنوان شناسه (Identifier) تعریف نمود. پس از انتخاب ستون مورد نظر و تعریف آن به عنوان شناسه، اطلاعات سیستمی به صورت اتوماتیک در داخل آن قرار می گیرد و این عمل به منحصر بفرد نگهداشتن ردیف مورد نظر کمک می کند.
۵- Constraint
با استفاده از این مشخه می توان ستون مورد نظر را مجاز به قبول همه نوع اطلاعات و حتی داده های نامعتبر نیز نمود. برای مثال با استفاده از حالت Foreign Key Check می توان از وارد شدن داده در ستونی خاص اطمینان حاصل کرد.
۶- Rules
قابلیت Rules بر عکس Check عمل می نماید و برای محدود کردن داده های ورودی کاربرد دارد.
۷- Triggers
تریگرها مجموعه ای از کدهای عملیاتی هستند که در زمان Insert, Update و یا Delete بر روی برخی از جداول اجرا می شوند. Triggerها برای یکپارچه سازی و برخی اوقات تبدیل داده های ورودی با فرمولی خاص بر روی آن ها اجرا می گردند.
۸- Constants
مشخه Constant از ثابت بودن داده ها در جداول یا ستون هایی خاص اطمینان حاصل کرده و به روند Data Integrity کمک قابل توجهیی می نماید.
۹- Index
زمانی که ردیف خاصی را از بین جداول داده ای ایندکس شده جستجو می نماییم، دیتابیس لیست ایندکس خود را تهیه می نماید.
انواع مختلف Data Integrity
انواع یکپارچگی داده ها به شرح زیر است:
یکپارچگی فیزیکی(Physical Integrity):
محافظت از تمامیت و صحت دادهها در هنگام ذخیره و بازیابی را یکپارچگی فیزیکی می گویند.
یکپارچگی منطقی(Logical Integrity):
در یکپارچگی منطقی داده ها بدون تغییر باقی می مانند و ۴ نوع مختلف دارد که در ادامه می خوانید.
۱- یکپارچگی نهاد (Entity Integrity)
مفهوم integrity در نوع Entity به این معناست که ردیف ها (Row) در دیتابیس همواره به صورت منحصر بفرد توسط شناسه خود حفظ می گردند. این عمل توسط Primary Keys و سایر شناسه های منحصر بفرد انجام می گردد.
۲- یکپارچگی دامنه (Domain Integrity)
مزایای قابلیت Domain Integrity، بررسی معتبر بودن اطلاعات ستون ها است. قابلیتهایی مانند Foreign Key، Check و Not NULL از جمله زیر مجموعه آن می باشند.
۳- یکپارچگی مرجع (Referential Integrity)
referential integrity چیست؟ این قابلیت به حفظ ارتباط بین جداول در هنگام اضافه شدن یا پاک شدن ردیف های جدید یا قدیمی کمک می کند. معمولا Foreign Key ها برای تعریف ارتباط بین جداول مورد استفاده قرار میگیرند.
۴- یکپارچگی تعریف شده توسط کاربر(User- Defined Integrity)
همانطور که از نام آن نیز مشخص می باشد، این قابلیت یکپارچه سازی مربوط به دستورات و Rule های تعریف شده توسط کاربر است. دستوراتی مانند کنترل دسته بندی داده ها و یا تبدیل گروهی خاص از داده با استفاده از فرمول از قبل تعریف شده. Procedureها و Triggerها نمونه های از ابزارهای مورد استفاده در این گروه می باشند.
عوامل تاثیرگذار بر یکپارچگی داده ها:
- خطای انسانی
- خطای انتقال
- ویروس ها و بدافزارها
- خرابی سخت افزار
- خطاهای فنی
مطلب عالی بود
آیا واقعا در سرعت سیستم تاثیر گذار هست این کار؟
این بحث فقط راجب کامل بودن اطلاعات دیتابیس هست و در سرعت تاثیری نداره!