ما میتوانیم داده های خود را با استفاده از روابط و موجودیت ها به صورت ساده و گرافیکی تعریف و پیاده سازی کنیم.
مدل سازی داده از 3 بخش مهم تشکیل شده است:
موجودیت فرآیند:
هر فرآیند در بیزاجی دارای یک موجودیت اصلی به نام موجودیت فرآیند است که نقطه شروع برای دسترسی به بقیه داده های فرآیند را فراهم میکند. در هر فرآیند فقط یک موجودیت اصلی وجود خواهد داشت. این موجودیت با یک خط دوتایی به دور موجودیت در نمودار نشان داده میشود.
چگونه موجودیت های فرآیندمان را بسازیم؟
وارد دومین مرحله از بیزاجی استودیو به نام مدل سازی داده میشویم.
بعد از کلیک بر مدل سازی داده صفحه ای برای ما باز میشود که به ما میگوید برای موجودیت فرآیند خود یک نام ثبت کنیم.
بعد از انتخاب نام موجودیت فرآیندمان وارد صفحه مدل سازی داده ها میشویم که تنها داخل آن موجودیت فرآیند “درخواست سفر” است. ما باید با استفاده از موجودیت فرآیند، بقیه موجودیت ها را تعریف سازی کنیم.
اکنون ما میخواهیم یک موجودیت شاخص بسازیم. برای این کار گزینه ی Entity را در نوار بالای برنامه کلیک کنید تا وارد صفحه ای به این شکل شویم:
در قسمت name و display name نام موجودیت خود را مینویسیم. ما در این موقعیت نام این موجودیت را کشور تعریف میکنیم و سپس در گزینه ی type گزینه ی parameter را انتخاب میکنیم و گزینه next را میزنیم. در قسمت بعدی ما فیلد های موجودیت کشور را اضافه میکنیم به عنوان مثال هر کشور یک اسم دارد پس ما فیلدی به اسم “نام” درست میکنیم و نوع آن را مشخص میکنیم مثلا string . در صفحه جدید ما گزینه add را میزنیم و نام و نوع آن را مشخص میکنیم(در ادامه درباره فیلد ها(attributes) بیشتر صحبت خواهیم کرد(. بعد از آن دوباره گزینه ی next را میزنیم.
اکنون موجودیت کشور به مدل داده مان اضافه شده است.
در این مرحله، باید موجودیت شهر را اضافه کنیم و همان مراحلی که برای موجودیت کشور انجام دادیم، برای آن نیز تکرار کنیم. اما یک تفاوت کلیدی وجود دارد:
✅ هدف ما این است که هنگام انتخاب یک کشور، فقط شهرهای مرتبط با آن نمایش داده شوند.
به عنوان مثال، اگر آمریکا انتخاب شود، فقط شهرهایی مانند نیویورک و واشنگتن نمایش داده شوند، نه بارسلونا که متعلق به اسپانیا است.
📌 مراحل تنظیم ارتباط بین کشور و شهر:
1️⃣ ایجاد موجودیت شهر در مدل داده
2️⃣ فعال کردن گزینه “Show Advanced Options” در مرحله سوم
3️⃣ انتخاب گزینه “Parent Entity” برای تنظیم ارتباط والد و فرزند
4️⃣ انتخاب موجودیت کشور به عنوان والد برای ایجاد ارتباط بین کشور و شهر
5️⃣ بهینهسازی رابط کاربری برای نمایش شهرهای مرتبط بر اساس کشور انتخابشده
بعد از این مراحل، سیستم پیامی میدهد که اگر این کار را انجام دهیم یک رابطه به طور اتوماتیک شکل میگیرد. آن را قبول کنید و سپس برای شهر یک فرم دیگر اضافه میشود به نام کشور که باید اسم فرم آن را تعریف کنید.
چگونه فیلد بسازیم؟
برای ساختن فیلد باید وارد فضای مدل سازی داده شویم و بر روی موجودیت مورد نظر که میخواهیم در آن فیلد را اضافه کنیم راست کلیک میکنیم سپس گزینه ی edit attribute را میزنیم. بعد از آن با گزینه ی add میتوانیم فیلد های دلخواه را اضافه کنیم و با type میتوانید نوع آن فیلد را انتخاب کنید مثل عدد بودن، رشته بودن، داده بولی و …
از آنجا که نوشته “هدف سفر” باید طولانی باشد گزینه show advanced options را بزنید و سپس length را به تعداد حروفی که میخواهید تغییر دهید.
سپس گزینه next و finish را بزنید و بعد میبینید فیلد شکل گرفته است در موجودیت.
برای موجودیت درخواست سفر فیلد های زیادی باید پر کرد به عنوان مثال درخواست لغو کردن سفر از نوع بولین، تاریف رفت و برگشت از نوع تاریخ و…
میتوانید فیلدها و موجودیت های نهایی را از عکس زیر ببینید.
روابط
ما میتوانیم ارتباط هایی را بین موجودیت ها برقرار کنیم. برای اولین حرکت با راست کلیک کردن موجودیت درخواست سفر وارد properties شوید و یک فیلد اضافه کنید به نام “شهر مبدا”. از آنجا که ما میخواهیم این فیلد به موجودیت شهر وصل باشد باید ما برای نوع آن به جای استرینگ و یا نامبر، آن موجودیت مورد نظر را انتخاب کنیم.
وقتی دکمه finish را میزنیم میبینیم یک رابطه جدید که با علامت پیکان نشان داده شده است شکل گرفته.
به این رابطه ای که ساختیم رابطه فیلد میگویند. زیرا یک درخواست سفر فقط یک شهر مبدا باید داشته باشد ولی یک شهر میتواند به عنوان مبدا خیلی از درخواست های سفر باشد. اکنون از آنجا که یک مشتری میتوانند از چند هواپیما استفاده کند میخواهیم یک رابطه یک به چند یا کالکشن بسازیم. بر روی موجودیت درخواست سفر کلیک راست کنید و گزینه ی edit attribute را بزنید و سپس یک فیلد جدید باز کنید به اسم پرواز ها و دوباره یک رابطه جدید یک به چند درست میشود.
اکنون میخواهیم یک رابطه فیلد دیگر درست کنیم. یک مشتری میتواند یک هتل داشته باشد و یک هتل میتواند متعلق به چند مشتری دیگر باشد. بر روی گزینه relationships کلیک کنید و گزینه next را بزنید. در موجودیت اول، موجودیت درخواست سفر را بزنید و در موجودیت دوم، هتل.
بعد از آن گزینه next را بزنید. در صفحه جدید میتوانید نوع رابطه را انتخاب کنید. ما گزینه ی related attribute را میزنیم و تمام روابط ما بین موجودیت ها ساخته میشود.
تا این قسمت ما تمام نیازمندی های ساختن روابط را کامل کردیم. در تصویر پایین موجودیت ها و روابط دیگر را که ساخته شده ببینید و بسازید.
توجه داشته باشید که در موجودیت فرآیند درخواست سفر، یک رابطه فیلد به اسم “متقاضی” ساختیم که با موجودیت WFUSER در قسمت موجودیت های سیستمی رابطه دارد. شهر مقصد و مخارج نیز به موجودیت فرآیند اضافه شده است.