ابتدا از محیط کاری و پنجره های طراحی EDM صحبت می کنیم . در کار با EDM 4 پنجره از محیط طراحی برای شما بسیار مفید است
1-Designer surface :
سطح بصری طراحی می باشد که شما می توانید به کمک آن ساختار و مدل EDM را ایجاد و یا تغییر دهید.
2-Mapping Detail
windows : پنجره ای برای map کردن و تغییر در این پنجره شما یک ساختار فیزیکی
از عناصر Entity
را مشاهده می کنید
3-Toolbox : جعبه ابزار که برای همه مشخص است و در مقاله
قبل با آن بیشتر آشنا شدیم
4-Model Browser
Window : این پنجره ساختاری درختی
از مدل مفهومی و منطقی مدل نمایش می دهد .
در شکل زیر این چهار
پنجره به تفکیک نمایش داده شده است .
.
Entities
برای فهم بهتر entity
باید با چند مفهوم آشنا شویم
Entity Type : نشان دهنده نوع خاصی از داده ها است مثلا داده
ای از نوع سطرهای جدول کارمند Emplyee ،
در واقع می توان گفت رکوردهای جدول را نشان می دهند..
Entity Set : یک در برگیرنده یا مجموعه ای از Entity های واحد .بنابر این Entity ها را می توان بصورت Entity Set گروه بندی کرد .در هر Entity set ما می توانیم چند Entity type داشته باشیم و هر گروه Entity Set نیز می
تواند با یک Entity Set دیگر در ارتباط باشد .
فرض کنیدما 3 نوع Entity Type به نامهای Salesperson ,SalesOrderHeader,SalesOrderDetail
داریم و دو تا Entity Set داریم که به صورت شکل زیر هستند
دراینجا Entity
Set اول شامل دوتا Entity Type است .
Scalar Properties : اگر مقاله های قبلی را مطالعه کرده باشید متوجه شدید که هر Entity Type دارای مجموعه ای از خصوصیات (Properties ) می باشد که یکی از آنها Scalar Properties است . اگر بخواهیم آن را به زبان ساده بیان کنیم
باید بگویم که این آیتم در واقع خصوصیتهایی را تعریف می کند که مقادیر رایج
متغیرها یعنی عدد ، رشته ، کارکتر و تاریخ و غیره را می پذیرد .به تعبیری دیگر
همان فیلدها بانک اطلاعاتی هستند که هر کدام دارای نوع هستند اگر شما یک Entity Type از مثالهای قبل ایجاد کرده باشید کافیست یکی از
خصوصیات را انتخاب کنید و به پنجره Properties
دقت کنید
می بینید هر کدام از فیلدها یا همان خصوصیتهای Entity ما دارای ویژگیهایی است مانند زیر
Name:
نام خصوصیت مورد نظر را نمایش می دهد که می توان آن را تغییر داد
Nullable : آیا فیلد مشخص شده مقدار Null را می پذیرید
Setter : همان خاصیت Set در تعریف خصوصیات کلاسها که ما در اینجا سطح
دسترسی آن را تعریف می کنیم
Getter : همان خاصیت Get در تعریف خصوصیت فیلد کلاسها که ما در اینجا سطح
دسترسی آن را تعریف می کنیم
StoredGenerationPattern : معادل Auto –generated در بانکهای اطلاعاتی یعنی مقادیر یک فیلد
اتوماتیک اضافه می شوند
Type : نوع فید
Default Value: مقدار پیش فرض
Complex Types
حتما تا کنون با ساختارها (structure) سروکار داشته اید . ما ساختاریتعریف می کردیم که می توانست مجموعه ای از داده
های متفاوت را با هم در یک متغیر ساختاری جمع آوری می کرد . مفهموم Complex Types چیزی شبیه به همان مغیرهای ساختاری است . در
وواقع یک متغیر مرکب است .مثلا اگر بخواهید آدرس فردی را با ساختار تلفن – آدرس
منزل_ایمیل _شماره موبایل ، ذخیره کنید .باید از یک متغیر مرکب یا همان complex استفاده کرد . اکنون با مثال نحوه تعریف آن را
نشان می دهم .ما در بخش قبل گفتیم که یک Entity می تواند شامل خصوصیاتی
باشد که از نوع متغیرهای متعارفباشد مثلا عددی یا کارکتری و غیره ، اما اگر بخواهیم
خصوصیتی پیچیده تر و با نوع مرکب داشته باشیم ، مثلا یک خصوصیت داشته باشیم که از
نوع ساختاری یا یک نوع مرکب و پیچیده ، چکار بایدکرد . جواب همان Complex Types
شما باید ابتدا یک آیتم و متغیر از نوع Complex Types تعریف کنید و پس از آن در Entity مورد نظرتان یک خصوصیت از نوع Complex Property تعریف کنید که این خصوصیت مرکب بعدا
از نوع Complex Types خواهد بود.
فرض کنید پروژه ای که قبلا ایجاد کرده ایم را باز کرده ایم
، به پنجره Model Browser دقت کنید
همانور که می بینید گزینه Complex Types را مشاهده می کنید . برای ایجاد آن بر روی Complex Types کلیک راست کرده و گزینه Create Complex Types را انتخاب کنید .یک آیتم Complex Types ایجاد می شودنام آن را AddressInfoمی نامیم اکنون بر روی همان آیتم مجددا کلیک
راست کنید و گزینه Add را انتخاب کنید و سپس گزینه Scalar Property را انتخاب کنید .لیستی از انواع برای
شما باز می شود
فرض کنید می خواهیم آیتمی تعریف کنیم که آدرس را بصورت
شماره تلفن و آدرس ذخیره کند پس 2 قسمت داریم یکی Phone , و
دیگری Address است فرض کنیم اولی از نوع عددی و
دومی کارکتری پس اولی را بصورت زیر تعریف کنید
Add----à Scalar Property --à Int32
و سپس نام آن را phone وارد کنید برای دومی هم به
همان ترتیب با این تفاوت که نوع آن String
است .
اکنون ما یک آیتم complex Types تعریف کردیم اما
ما مشخص نکردیم که این آیتم باید به کدام Entity ارتباط داشته باشد برای
اینکار بر روی یکی از Entity های مدل فرضا Entity2 کلیک راست کرده و گزینه Complex Types را انتخاب می کنیم مانند شکل زیر خواهد شد
اکنون به پنجره
propertie مرتبط به این Complexproperty بروید و از قسمت Type مربوطه آیتم AddressInfo را انتخاب کنید در حقیقت ما اینجا
خصوصیتی تعریف کردیم از نوع AddressInfo
که در واقع یک نوع مرکب جدید تعریف شده توسط
کاربر است .