انواع روابط موجودیتها در نرم افزار بیزاجی
بیزاجی چهار نوع رابطه بین موجودیتها را ارائه میدهد که باعث انعطافپذیری بیشتر در مدل داده شما میشود.
1) رابطه attribute
این رایجترین رابطهای است که در مدلسازی داده از آن استفاده میشود. در آن یک نمونه از یک موجودیت با یک نمونه از موجودیت دیگر مرتبط میشود. با استفاده از این مورد میتوان ارتباطات موجود بین ویژگیها را نشان داد یا به بیان دیگر ویژگی A با ویژگی B در ارتباط است.
این نوع روابط به طور خودکار از طریق Data Model Wizard، هنگام انتخاب ویژگی Entity type ایجاد میشوند.
بهعنوانمثال یک مشتری میتواند مرد یا زن باشد، بنابراین یک ویژگی مرتبط بین مشتری و موجودیت جنسیت وجود دارد. بااینحال یک جنسیت به بسیاری از مشتریان اختصاص داده میشود. این رابطه بهصورت یک خط پیکان مدل شده است.
2) رابطه یکبهیک (One-to-one relationship)
روابط یکبهیک زمانی ایجاد میشود که یک ارتباط واحد بین دو موجودیت وجود داشته باشد. یعنی هر رکورد از موجودیت A با یک رکورد واحد از موجودیت B مرتبط است و بالعکس.
برای مثال تصور کنید دو موجودیت وجود دارد، کارمند و کامپیوتر. یک رابطه یکبهیک بین این دو موجودیت وجود دارد؛ زیرا هر کارمند فقط با یک کامپیوتر مرتبط است و یک کامپیوتر فقط به یک کارمند اختصاص داده شده است.
هنگامی که این نوع رابطه ایجاد میشود، نرم افزار بیزاجی به طور خودکار یک رکورد (کلید خارجی) به موجودیت اضافه میکند که موجودیتها را به یکدیگر مرتبط میکند. رابطه یکبهیک (One-to-one relationship) میتواند بهصورت دوطرفه باشد، بدین صورت که در هر دو موجودیت یک کلید از دیگری وجود داشته باشد. این رابطه بهصورت یک خط پیکان دوتایی مدل شده است.
نکته: منظور از ایجاد کلید آن است که بیزاجی برای این که ارتباط این جداول را در پایگاهداده (SQL) نشان دهد یک ستون به نام موجودیت ارتباط داده شده، ایجاد میکند تا زمانی که میخواهید دادهها را پیدا کنید از این کلیدها استفاده کنید.
3) رابطه یک به چند (one-to-many relationship)
رابطه یک به چند زمانی ایجاد میشود که یک مورد از یک موجودیت (Entity A) را بتوان با صفر، یک یا چند مورد از موجودیت دیگر (Entity B) مرتبط کرد. بااینحال برای یک نمونه از موجودیت B تنها یک نمونه از موجودیت A وجود دارد.
در بیزاجی به این رابطه Collection نیز میگویند.
برای مثال، تصور کنید دو موجودیت وجود دارد: مشتری و محصولات درخواستی. مشتری (Entity A) میتواند محصولات درخواستی زیادی داشته باشد (Entity B) اما محصولات درخواست داده شده فقط میتوانند متعلق به یک مشتری باشند.
این نوع روابط به طور خودکار از طریق Data Model و هنگام انتخاب ویژگی Collection type ایجاد میشوند. یک Relations بهصورت یک خط پیکانی با یک ستاره (*) مدلسازی میشود.
4) رابطه چند به چند (Multiple-to-Multiple relationship)
روابط چند به چند زمانی ایجاد میشود که یک مورد از یک موجودیت (Entity A) با یک، صفر یا بسیاری از موردهای موجودیت دیگر (Entity B) و یک مورد از موجودیت B با یک، صفر یا چند مورد از موجودیت A مرتبط باشد.
بهعنوانمثال، یک کارمند در جدول Employee میتواند مهارتهای زیادی از جدول EmployeeSkill داشته باشد و همچنین، یک مهارت میتواند به یک یا چند کارمند مرتبط باشد.
بهعنوانمثال، در یک فرایند درخواست وام، یک درخواست ممکن است چندین محصول (وام شخصی، کارت اعتباری) و چندین وثیقه یا ضمانتهایی برای پوشش محصولات (قرضگیرنده، رهن) داشته باشد. هر محصول ممکن است دارای ضمانتهای مرتبط زیادی باشد.
بنابراین، یک رابطه چند به چند بین GuaranteesRequest و ProductsRequest وجود دارد: یک محصول میتواند توسط چندین ضمانت درخواست پوشش داده شود، و یک ضمانت میتواند چندین محصول درخواست را پوشش دهد. یک رابطه چند به چند بهصورت یک خط پیکان دوتایی با یک ستاره (*) در انتهای هر پیکان مدلسازی میشود.
نحوه ایجاد هرکدام از این روابط را در مقالات بعدی توضیح میدهیم.