❓چه دلیلی داره که در طراحی یک سیستم، چندین جدول داشته باشیم؟؟ آیا بهتر نیست که تنها یک جدول ایجاد کنیم و همه فیلدهای مورد نیازمون در اون جدول باشند؟؟
پاسخ:
1️⃣اولین دلیل مربوط میشه به آنومالی (ناسازگاری داده):
مثلا آنومالی در حذف:
به این معنا که اگر شما رکوردی از جدول را حذف کنید، کلیه اطلاعات موجود در اون جدول در ابطه با اون رکورد خاص رو از دست خواهید داد.
2️⃣دومین دلیل بحث افزونگی اطلاعات هست:
زمانی که همه اطلاعات شما در یک جدول باشند با هر عملیات (مثلا درج) مجبور هستید مجددا ، اطلاعاتی که از قبل وارد کرده اید را وارد کنید.
3️⃣مشکلاتی که وجود مقادیر null ایجاد می کند:
به هر حال، کلیه درج های شما، شامل همه فیلدها نمی شود و مجبور هستید به ازای هر درج، تعداد زیادی از فیلدها را با مقدار Null پر کنید. که این مقادیر null چه در محاسبات و چه در پیاده سازی برخی عملیات، مشکلاتی رو ایجاد خواهند کرد
4️⃣ علاوه بر دلایل بالا، دلایل دیگری مانند: سخت و یا ممکن نبودن تهیه برخی گزارشات ، کاهش کارایی به ذلیل افزایش سریع حجم اطلاعات، عدم امکان پیاده سازی برخی تکنولوژِ ی ها و امکانات موجود در SQlserver , ... را نیز می توان به این لیست اضافه کرد
جمع بندی:
در طراحی بهینه پایگاه داده و جداول، بعد از اینکه موجودیت ها (Entity) سیستم و چندی رابطه بین آن ها رو استخراج کردید. باید بر اساس قوانین نرمال سازی اقدام به طراحی جداول کنید. تا در آینده، در مباحثی مانند توسعه و نگهداری نرم افزارتون با مشکل مواجه نشوید.
محسن بندامیر @Mohsen_Bandamir
Post #542
1.8K