مفاهیم مدل سازی داده ۲
اجزای یک مدل داده
یک مدل داده از بسیاری از مؤلفه های مختلف ساخته می شود که به عنوان مفهومی از چیزهای دنیای واقعی عمل می کنند. ساده ترین مدل داده از موجودیت ها و روابط تشکیل شده است. با پیشرفت کار بر روی مدل داده، جزئیات و پیچیدگی بیشتری اضافه می شود. بیایید بسیاری از اجزای مختلف یک مدل داده و اصطلاحات مورد استفاده برای مدل سازی داده را بررسی کنیم.
موجودیت ها
موجودیت، در تعریف اولیه، چیزی است که وجود دارد و قابل توصیف است. موجودیت یک شخص، مکان، چیز، مفهوم یا رویدادی است که سازمان شما حقایق را در مورد آن حفظ می کند. به عنوان مثال دانشجو، مربی و دوره موجودیت های خاصی هستند که یک کالج یا دانشگاه برای انجام کار خود باید در مورد آنها آگاه باشد.
موجودیت یک شخص، مکان، چیز، مفهوم یا رویداد است.
دستورالعمل نامگذاری موجودیت
پیروی از یک استاندارد دقیق برای نامگذاری موجودیت ها در یک مدل داده مهم است. اگر توسعهدهندگان سعی کنند با استفاده از نامهای تعریف نشده و غیراستاندارد ارتباط برقرار کنند، سردرگمی ایجاد میشود. یک استاندارد خوب برای رعایت این است که همیشه نام موجودیت ها را به شکل مفرد با استفاده از حروف بزرگ نامگذاری کنید. یک موجودیت باید بهعنوان الگویی برای رخدادهای موجود در آن در نظر گرفته شود، نه مجموعهای از همه رخدادها برای آن نوع موجودیت. برای مثال، موجودیتی که حاوی دادههای مربوط به کارمندان شرکت شما است، باید به جای کارمندان، کارمند نامیده شود.
علاوه بر این، یک موجود باید همیشه یک اسم یا ترکیبی از یک صفت با یک اسم باشد. با این حال، استفاده از صفت ها باید تا حد امکان به حداقل برسد. گاهی اوقات، صفت می تواند یک صفت پنهان باشد. به عنوان مثال، موجودیتی به نام قرارداد کارمند بهتر است به عنوان موجودیتی به نام کارمند با ویژگی توصیف وضعیت کارمند بیان شود (که در آن مقدار وضعیت می تواند تمام وقت یا CONTRACT باشد).
در انتخاب اصطلاحات مورد استفاده برای موجودیت ها ثبات داشته باشید.
به طور کلی، از اصطلاح مورد علاقه کاربران تجاری استفاده کنید. زمانی که کسبوکار از چندین اصطلاح (مترادف) برای یک موجودیت استفاده میکند و اتفاق نظر واضحی وجود ندارد، یکی را انتخاب کنید و به طور مداوم از آن استفاده کنید. برای مثال، اگر برخی از کاربران VENDOR را ترجیح می دهند اما برخی دیگر SUPPLIER را ترجیح می دهند، یکی را انتخاب کنید و به طور مداوم در طول مدل داده از آن استفاده کنید. در برخی موارد، زمانی که کسب و کار نتواند ارجحیتی را انتخاب کند، اصطلاح رایج عموم ممکن است انتخاب را دیکته کند. به عنوان مثال، CLIENT شاید اصطلاح بهتری از USER باشد، با توجه به معنای منفی که گاهی اوقات به این کلمه (“مصرف کننده مواد مخدر”) داده می شود.
در نهایت، مصنوعات خاص فرآیند را از نام موجودیت حذف کنید. به عنوان مثال، AGENT بهتر از SELLING AGENT است. به یاد داشته باشید، مدل داده باید «چه چیزی» را به تصویر بکشد، نه «چگونه» و «فروش» یک فرآیند را توصیف میکند.
رخدادهای موجودیت
یک رخداد نمونه ای از یک موجودیت است. برای مثال، AUTHOR نمونه ای از یک موجودیت است. کریگ اس. مولینز، همراه با تمام جزئیات توصیفی من، یک مورد از موجودیت AUTHOR است. مهم است که موجودیت مفهومی را از رخداد های واقعی موجود متمایز کنیم.
یک رخداد نمونه ای از یک موجودیت است.
ویژگی
صفت یک ویژگی موجودیت است. هر ویژگی یکی از سه کار را انجام می دهد: شناسایی، ارتباط یا توصیف.
• شناسایی می کند. مشخصه ای که کلید کاندید را نشان می دهد. اگر مقدار یک ویژگی شناسایی تغییر کند، باید یک رخداد موجودیت متفاوت را شناسایی کند. مشخصه ای که شناسایی می کند باید تغییر ناپذیر باشد.
• ارتباط ایجاد می کند. مشخصه ای که موجودیت ها را به هم مرتبط می کند یک کلید خارجی است. صفت به ویژگی کلید اولیه یک رخداد موجودیت دیگر (یا همان) اشاره دارد.
• توصیف می کند. یک خصیصه در صورتی توصیفی است که مشخصه ای از یک موجودیت را به تصویر می کشد یا بیان می کند، اما شناسایی یا ارتباط نیست.
به عنوان یک قاعده سرانگشتی، اسم ها تمایل به موجودیت و صفت ها به ویژگی دارند. با این وجود، این یک قانون سخت و سریع نیست: حتماً از دانش کسب و کار استفاده کنید تا مشخص کنید کدام اسم ها و ویژگی ها موجود هستند و کدام ویژگی ها. هر ویژگی باید وقوع موجودیت را شناسایی کند، وقوع موجودیت را به وقوع موجودیت دیگری (در همان یا موجودیت دیگر) مرتبط کند یا وقوع موجودیت را توصیف کند.
یک ویژگی باید به طور قطعی معنای خاص و مورد نظر خود را منعکس کند. نمونههای یک صفت باید ماهیت اتمی داشته باشند – یعنی یک ویژگی یک واقعیت منحصر به فرد را نشان میدهد که نمیتوان آن را بیشتر تجزیه کرد. به همین دلیل، استفاده از Name به عنوان یک ویژگی، مثلاً، موجودیت PERSON عمل خوبی نخواهد بود زیرا Name را می توان به FirstName، Middle-Initial و LastName تجزیه کرد.
دامنه ها
به هر ویژگی یک دامنه معتبر اختصاص داده شده است. دامنه، طیف وسیعی از مقادیر معتبر را برای عنصر داده تعریف می کند. به عنوان مثال یک دامنه، “مقدار صحیح مثبت معتبر بین ۱ و ۱۰” است. نوع داده جزئی از دامنه است. نوع داده، به اندازه کافی، انواع داده ای را که دامنه را تشکیل می دهد، مشخص می کند. برخی از نمونه ها عبارتند از: عدد صحیح، اعشاری، کاراکتر، تاریخ، زمان و غیره.
دامنه، طیف وسیعی از مقادیر معتبر را برای عنصر داده تعریف می کند.
هنگامی که مشخصه ای تعریف می شود که یک کد را نشان می دهد، دامنه کد باید در صورت امکان از مقادیر مستندسازی شخصی تشکیل شود. به عنوان مثال، دامنه یک ویژگی که بازه دوره ای هفتگی، ماهانه، سه ماهه و سالانه را تعریف می کند بهتر است به جای (۱، ۲، ۳، ۴) به صورت ( “W”، “M”، “Q”، “Y” ) تعریف شود. اولین دامنه مستندسازی شخصی است و به راحتی قابل یادآوری است. یادآوری دومی چندان آسان نیست.
راهنمای نامگذاری صفت
یک قالب استاندارد برای نامگذاری ویژگی ها ایجاد کنید و به آن پایبند باشید. برای مثال، اگر ویژگیها را به شکل مفرد («FirstName») InterCaps نامگذاری کنید، همه حروف کوچک («first_name») را به جلو و عقب تغییر ندهید. یک فرم را انتخاب کنید و به آن پایبند باشید. برخی از نامهای مشخصه بالقوه برای موجودیت کارمند شامل StreetAddressیاstreet_address) ZipCode, (یا zip_code) و EmployeeId, (یا (staff_id) می باشند. نکته این است که زمان زیادی را صرف استاندارد دقیق برای نامگذاری ویژگی ها نکنید، بلکه باید یک استاندارد را انتخاب کنید و به آن پایبند باشید تا سردرگمی را به حداقل برسانید و ارتباطات را شفاف کنید.
از یک قالب استاندارد برای نامگذاری ویژگی ها پیروی کنید.
نام ویژگی باید از یک کلمه توصیفی اول همراه با یک کلمه کلاس تشکیل شده باشد. یک کلاس زیرمجموعه خاصی از ویژگی ها را توصیف می کند که در اکثر سیستم های اطلاعاتی مشترک است. در صورت لزوم می توان از کلمات واجد شرایط اضافی برای تعریف مشخصه استفاده کرد. کلمه توصیفی اول می تواند نام موجودیت یا کلمه توصیفی دیگری باشد. برای کلمه کلاس، یک لیست معتبر از کلاس ها برای انواع دامنه های مورد استفاده ایجاد کنید. یک لیست نمونه از کلاس های ممکن در جدول ۱ نشان داده شده است. ممکن است تصمیم بگیرید که از نام کل کلاس یا یک مخفف استاندارد استفاده کنید. در زیر برخی از نمونههای نام ویژگی آمده است:
VendorID که در آن Vendor موجودیت است و ویژگی یک شناسه است.
ProductName که در آن Product موجودیت است و دامنه ویژگی یک نام حروف الفبا و کاراکتر است.
Product Yearly Sales Amount که در آن Product موجودیت است و دامنه یک مقدار است. با این حال، ممکن است مقادیر متعددی برای هر نمونه محصول وجود داشته باشد. این ویژگی خاص توسط معیار سالیانه، که طول دوره را نشان میدهد، و معیار فروش که مقدار محصول فروخته شده را نشان می دهد، در مقابل، مقدار خریداری شده، واجد شرایط است.
جدول ۱
این مقاله نوشته کرگ مولینز است.
ترجمه: سجاد نوروزی