کاردینالیتی

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

به عنوان مثال، یک پایگاه داده طراحی شده برای پیگیری سوابق بیمارستان را در نظر بگیرید. چنین پایگاه داده می تواند جداول زیادی داشته باشد مانند:

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

در این مدل:

بین جدول دکتر و  جدول بیمار رابطه چند به چند وجود دارد، زیرا هر پزشک بیماران متعددی دارد و هر بیمار می تواند چندین پزشک داشته باشد.
یک
رابطه یک به چند بین جدول دپارتمان و جدول دکتر وجود دارد، زیرا هر پزشک تنها می تواند برای یک بخش کار کند اما یک بخش می تواند چندین پزشک داشته باشد.

رابطه “یک به یک” عمدتا برای تقسیم یک جدول در دو جدول به منظور ارائه اطلاعات به صورت مختصر و قابل درک تر شدن آن است. در مثال بیمارستان، می توانیم چنین رابطه ای استفاده کنیم تا اطلاعات حرفه ای پزشکان خود از جزئیات اداری و اطلاعات شخصی آنها جدا کنیم.

در مدل سازی داده ها، مجموعه ای از اطلاعات به “جدول داده” یا Table گروه بندی می شوند که هر کدام از آنها حاوی گروه های داده ای به نام “ویژگی های پایگاه داده” یا همان field یا column هستند. جدول ها با “key field” یا همان فیلد کلید به هم مرتبط می شوند. یک کلید اولیه یا primary key یک فیلد را به عنوان کلید شناسایی اطلاعات در جدول معرفی می کند. برای مثال، فیلد شماره نظام پزشکی به عنوان کلید اولیه جدول دکتر، تمام اطلاعات یک دکتر را بصورت یکتا و قابل تفکیک  در می آورد بطوری که اگر دو پزشک با نام و نام خانوادگی مشابه وجود داشته باشند، باز از هم قابل شناسایی هستند. جدول ها همچنین  می تواند یک کلید خارجی داشته باشد که نشان می دهد که این فیلد به کلید اولیه جدول دیگری مرتبط است.

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

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

 

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

One Thought to “کاردینالیتی cardinality یا نایکسانی داده ها”

  1. خسته نباشید مرسی به خاطر این مطالب
    زیبا

Leave a Comment