زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت مطالب تازه مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم

یكی از محبوب ترین وسیله های نمایش رسمی در زمینه موضوع سیستم های متمایل به پردازش اطلاعات واقعی ، مدل "ارتباطات موجودیت" است كه تعداد قابل توجهی از محصولات تجاری CASE را پشتیبانی می كند كه از چرخه كامل توسعه سیستم های دیتابیس یا مراحل فردی آن پشتیبانی می كنند. در عین حال ، بسیاری از آنها نه تنها از مرحله طراحی مفهومی منطقه مورد نظر سیستم توسعه یافته پشتیبانی می کنند ، بلکه اجازه می دهند که مرحله طراحی منطقی بر اساس مدل ساخته شده به وسیله آنها با تولید خودکار یک شمای پایگاه داده مفهومی برای DBMS انتخاب شده انجام شود ، به عنوان مثال یک شمای پایگاه داده برای هر SQL انجام شود. سرور یا DBMS شیء.

مدل سازی دامنه در این مورد مبتنی بر استفاده از نمودارهای گرافیکی است که شامل تعداد کمی از مؤلفه ها و از همه مهمتر - فناوری ساخت و سازچنین نمودارهایی

اساس معنایی مدل ER فرضیات زیر است:

این بخش از دنیای واقعی (مجموعه ای از اشیاء بهم پیوسته) ، اطلاعاتی در مورد آنها باید در پایگاه داده قرار گیرد ارائه شده به عنوانکلیت موجودیت ها؛

هر موجودیت خصوصیات (صفات) مشخصه ای دارد که آن را از موجودات دیگر متمایز می کند و اجازه می دهد برای شناسایی؛

اشخاص را می توان با توجه به نوع موجودیت طبقه بندی کرد: هر نمونه از یک موجودیت (نماینده یک شی) را می توان اختصاص داد بهکلاس - نوع موجوداتهر نمونه از این خصوصیات برای آنها مشترک است و آنها را از ذات طبقات دیگر متمایز می کند.

سیستماتیک سازی مبتنی بر کلاس از یک نمایندگی به طور کلی وابستگی سلسله مراتبی از انواع را به عهده می گیرد: یک موجودیت از نوع و هست یک زیرگروهموجودیت ها AT ،اگر هر نمونه از نوع باشد و نمونه ای از موجودیت از نوع است که در;

روابط جسم را می توان به عنوان نشان داد ارتباطاتکه برای حل (نمایندگی) وابستگی متقابل دو یا چند موجود در خدمت هستند.

در اینجا باید بار دیگر بر ماهیت اطلاع رسانی مفهوم تأکید کنیم ذاتو ارتباط آن با اشیاء مادی یا خیالی منطقه موضوع. هر موضوعی در حوزه موضوع دارای خصوصیاتی است که برخی از آنها از نظر ویژگی کاربردی از نظر ویژگی مشخص هستند. در این حالت ، به عنوان مثال ، در فرایند تجزیه و تحلیل و سیستماتیک کردن منطقه موضوع معمولاً از هم متمایز است کلاس ها -مجموعه اشیاء که دارای همان مجموعه ای از خصوصیات هستند که در فرم تعریف شده اند مجموعه ویژگی ها(البته مقادیر ویژگی برای اشیاء همان کلاس ممکن است متفاوت باشد). بر این اساس ، در سطح بازنمایی حوزه موضوع (یعنی مدل آنفولوژیکی آن) ، یک شیء به عنوان یک مفهوم (یک شی در ذهن انسان) در نظر گرفته می شود که با مفهوم مطابقت دارد ذات؛جسم ، به عنوان بخشی از جهان مادی (و مستقل از آگاهی انسان موجود) ، با مفهوم مطابقت دارد نمونه نهاد؛کلاس اشیاء با مفهوم مطابقت دارد نوع موجودیت


در آینده ، از آنجا که الگوی اینفلوژیک موارد فردی از اشیاء را در نظر نمی گیرد ، اما کلاس ها ، ما بین مفاهیم مربوط به این دو سطح تفاوت قائل نمی شویم ، یعنی هویت مفاهیم را فرض خواهیم کرد. یک شیو موجودیت ، دارایی یک شیو دارایی یک نهاد

مدل ERبه عنوان توضیحی در مورد موضوع ، باید اشیاء و روابط بین آنها را تعیین کند ، یعنی اتصالات دو نوع زیر را برقرار کند.

1. رابطه بین اشیاء و مجموعه ای از خصوصیات مشخصه ، و بنابراین خود اشیاء را تعیین می کنند.

2. روابط بین اشیاء که ماهیت و ماهیت عملکردی وابستگی متقابل آنها را تعریف می کنند.

همانطور که قبلاً اشاره شد ، مدل سازی دامنه دامنه ER بر اساس استفاده از نمودارهای گرافیکی به عنوان روشی ساده (آشنا) ، بصری و در عین حال آموزنده و چند وجهی برای نمایش اجزای پروژه است. بنابراین ، بیانیه مفاد اصلی مدل ER با استفاده از نمونه مثال نمودار ER نشان داده شده در شکل نشان داده خواهد شد. 5.4

ذات.موجودی که با آن کلاس اشیاء از همان نوع مدل سازی می شود ، به عنوان "شیئی که به روشنی قابل شناسایی است" تعریف می شود. دقیقاً همانطور که هر شیء با مجموعه ای از ارزش های خاص به طور خاص مشخص می شود ، نهاد باید مشخص شودبنابراین مجموعه ای از ویژگی هاکه باعث می شود نمونه های فردی از موجودیت متمایز شود. هر نمونه از یک نهاد باید از هر نمونه دیگر از همان موجودیت قابل تشخیص باشد (این نیاز مشابه الزام عدم وجود تاپ های تکراری در جداول رابطه ای است). به عنوان مثال ، برای شناسایی منحصر به فرد هر نمونه از نهاد "کارمند" ، ویژگی "شماره پرسنل" معرفی می شود ، که به دلیل ماهیت آن همیشه معنی بی نظیر در شرکت یعنی یک شناسه منحصر به فرد یک موجودیت می تواند یک ویژگی ، ترکیبی از ویژگی ها ، ترکیبی از روابط یا ترکیبی از روابط و ویژگی هایی باشد که به طور منحصر به فرد هر نمونه از یک موجودیت را از مصادیق دیگر یک موجودیت از همان نوع متمایز می کند.

ذات دارد نام،منحصر به فرد در مدل. که در آن نام نهاد -این هست نام را تایپ کنیدیک نمونه خاص نیست.

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

خصوصیاتخواص طبیعت مانند ماهیت ارتباطاتخصوصیات با یک موجودیت (شی) ممکن است متفاوت باشد. انواع اصلی خواص را در نظر بگیرید.

ممکن است این ملک باشد جمعیا تنها -یعنی ، یک ویژگی که یک ویژگی را تعریف می کند می تواند همزمان چندین مقدار داشته باشد یا بر این اساس ، فقط یک مورد را داشته باشد. به عنوان مثال ، یک کارمند ممکن است چندین تخصص داشته باشد ، اما تنها ارزش آن تعداد کارمندان است.

ممکن است این ملک باشد ساده(از نظر وظایف کاربردی مشمول تقسیم بیشتر نیست) یا کامپوزیت -اگر مقدار آن از مقادیر خصوصیات ساده تشکیل شده باشد. به عنوان مثال ، ویژگی "سال تولد" ساده است ، و ویژگی "آدرس" کامپوزیت است ، زیرا شامل مقادیر خصوصیات ساده "شهر" ، "خیابان" ، "خانه" است.

در برخی موارد ، تفکیک بین اینها مفید است پایه ایو مشتقاتخواص به عنوان مثال ، "تأمین کننده" ممکن است دارایی "تعداد کل قطعات تهیه شده" را داشته باشد ، که با جمع آوری تعداد قطعات تحویل شده توسط وی در پروژه محاسبه می شود.

اگر وجود برخی از املاک برای همه موارد موجودیت اجباری نباشد ، به چنین اموالی گفته می شود مشروطبه عنوان مثال ، همه کارمندان از ویژگی "درجه دانشگاهی" برخوردار نیستند.

مقادیر ملک می تواند ثابت باشد - ایستایا پویایعنی با گذشت زمان تغییر کنید. به عنوان مثال ، ویژگی Personnel Number استاتیک است و آدرس پویا است. ممکن است این ملک باشد مبهماگر پویا باشد ، اما مقدار فعلی آن هنوز تعیین نشده است.

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

ارتباطاتعلاوه بر روابط بین یک شی و خصوصیات آن ، مدل اینفولوژیک روابط بین اشیاء طبقات مختلف را منعکس می کند. که در ارتباطتعریف شده به عنوان "انجمن چندین نهاد". این ارتباط همیشه می تواند بین موجودات مختلف یا بین یک موجودیت و خود (اتصال بازگشتی) وجود داشته باشد.

مانند ذات ، ارتباطات است معمولمفهوم ، به عنوان مثال ، تمام موارد موجودیتها از قوانین الزام آور نوع پیروی می کنند. اصل تفاوت در انواع روابط بین انواع و نمونه ها توسط نمودارهای ER برای انواع و نمونه های نشان داده شده در شکل نشان داده شده است. 5.5

اشخاصی که به یک پیوند وصل می شوند ، خوانده می شوند شركت كنندگان. درجه ارتباطاتتعیین شده توسط تعداد شرکت کنندگان در ارتباطات.

اگر هر نمونه از یک نهاد حداقل در یک نمونه از رابطه شرکت کند ، چنین مشارکت این نهاد نامیده می شود کامل(یا اجباری)؛در غیر این صورت - ناقص(یا اختیاری).

ماهیت کمی مشارکت نمونه های موجودیت (یک یا چند) مشخص شده است نوع ارتباطات(یا قدرت ارتباطی)انواع زیر امکان پذیر است: "یک به یک"(1:1), یکی از خیلی ها(1M) ، خیلی به یک(م: 1) خیلی به خیلی ها(م: م).

لازم به ذکر است که ابزار ارتباطی وسیله ای برای ارائه است اشیاء پیچیدههر یک از آنها به نوعی بهم پیوسته در نظر گرفته می شوند اشیاء سادهتقسیم به اشیاء ساده و پیچیده و همچنین ماهیت رابطه ، مشروط است و با ویژگی های تجزیه و تحلیل حوزه موضوع مشخص می شود ، یعنی در آخر با توجه به ماهیت استفاده از این اشیاء در مشکلات کاربردی حل شده. علاوه بر این ، از نظر مثلاً طراح ، DETAIL یک شیء پیچیده است و از دیدگاه تهیه کننده ، ساده است.

در بین انواع مختلف ارتباطات ، متداول ترین روابط سلسله مراتبی مانند "جزئی-کل" ، "جنس ها" است.

رابطه کامل و کل برای نشان دادن استفاده می شود اشیاء مرکببه عنوان مثال ، ماشین آلات شامل NODES است ، NODES از قسمتها تشکیل شده است. ممکن است به عنوان یک رابطه "یک تا خیلی"مثل آن "خیلی به خیلی ها"

رابطه "جنس - گونه" - برای نشان دادن اشیاء تعمیم یافته. به عنوان مثال ، شاغلان با حرفه به DESIGNERS ، PROGRAMMERS ، کارگران تقسیم می شوند. برنامه ها - در برنامه های کاربردی و برنامه های سیستم. روابط سلسله مراتبی و به ویژه روابط "گونه های قبیله ای" معمولاً به عنوان پایه ای برای طبقه بندی اشیاء با توجه به مجموعه ای از ویژگی های بارز مورد استفاده قرار می گیرند. علاوه بر این ، "گونه" اشیاء به ارث می برندخواص "عمومی"

یکی دیگر از انواع متداول اتصال بسیار زیاد جمع آوری است - پیوستن اشیاء ساده به اجزای پیچیده با اصل تعلق آنها تجمیعیا مشارکت مشترک آنها در برخی مراحل. جمع ، که در اینجا به عنوان یک مورد عمومی تر از روابط سلسله مراتبی در نظر گرفته می شود ، اشیاء از طبیعت متفاوت را با تنها "مشارکت مشترک" خاصیت مشترک ترکیب می کند. اشیاء جمع شده معمولاً اسمهای کلامی نامیده می شوند ، مثلاً "ترکیب بندی":زير مجموعه شاملکارمندان؛ "عرضه":ارائه دهنده تدارکاتجزئیات.

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

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

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

نوع موجودیت ، زیرگروه های آن ، زیرگروه های این زیرگروه ها و غیره شکل می گیرد سلسله مراتب انواع نهادها ،نمونه ای از آن در شکل نشان داده شده است. 5،6

در طراحی واقعی ساختار پایگاه داده از روشی استفاده می شود - به اصطلاح مدل سازی معنایی. مدل سازی معنایی مدل سازی از ساختار داده ها ، بر اساس معنی این داده ها است. گزینه های مختلف به عنوان یک ابزار مدل سازی معنایی استفاده می شود. نمودارهای موجودیت رابطه(ER - رابطه شخصیتی).

اولین نسخه از مدل رابطه موجودیت در سال 1976 توسط پیتر پین-شن شن انجام شد. در آینده ، بسیاری از نویسندگان نسخه های خاص خود را از چنین مدلهایی (ماتریس مارتین ، نماد IDEF1X ، نماد Barker و غیره) تهیه کردند. همچنین متنوع نرم افزارکه همان نماد را پیاده سازی می کند ممکن است در قابلیت های آنها متفاوت باشد. در حقیقت ، تمام انواع نمودارهای رابطه ی موجودیت از یک ایده ناشی می شوند - یک تصویر همیشه بصری تر از توصیف متن است. تمام این نمودارها از یک تصویر گرافیکی از موجودات منطقه موضوع ، خصوصیات آنها (ویژگی ها) و روابط بین موجودات استفاده می کنند.

ما کار با نمودارهای ER نزدیک به نماد Barker را توصیف خواهیم کرد ، بنابراین درک ایده های اصلی بسیار آسان است. این فصل بیشتر تصویری از روشهای مدل سازی معنایی است تا معرفی کامل این حوزه.

مفاهیم برای نمودارهای ER

تعریف 1: ذات- این یک کلاس از اشیاء از همان نوع است ، اطلاعات مربوط به آن باید در مدل مورد توجه قرار گیرد.
هر موجودیت باید یک اسمی داشته باشد که توسط یک اسم مفرد بیان شده باشد. نمونه هایی از اشخاص می توانند کلاسهای مختلفی از اشیاء مانند "تأمین کننده" ، "کارمند" ، "فاکتور" باشند. هر موجودیت موجود در مدل به صورت مستطیل با نام تصویر شده است:

شکل. 1

تعریف 2: به عنوان مثال اشخاص- این نماینده خاص این نهاد است.
به عنوان مثال ، نماینده نهاد "کارمند" ممکن است "کارمند ایوانوف" باشد. موارد موجود باید قابل تشخیص باشد ، یعنی اشخاص باید برخی از ویژگی های منحصر به فرد برای هر نمونه از این موجودیت داشته باشند.

تعریف 3: صفت موجودیتویژگی مشخص شده ای است که برخی از دارایی های موجودیت است.
نام صفت باید به صورت مفرد بیان شود (احتمالاً با توصیف صفت). نمونه هایی از ویژگی های نهاد "کارمند" می توانند از جمله صفاتی مانند "شماره پرسنل" ، "نام خانوادگی" ، "نام" ، "نام میانه" ، "موقعیت" ، "حقوق" و غیره باشند. ویژگی ها در مستطیل تعریف کننده موجودیت نمایش داده می شوند:

شکل. 2

تعریف 4: کلید Entity- این مجموعه ای از ویژگی های زائد است که مقادیر آنها برای هر نمونه از موجودیت کاملاً بی نظیر است. افزونگی در این واقعیت نهفته است که حذف هر ویژگی از کلید ، منحصر به فرد بودن آن را نقض می کند. یک نهاد می تواند چندین کلید مختلف داشته باشد. صفات اصلی با تأکید زیر در نمودار به تصویر کشیده شده است:

شکل. 3

تعریف 5: ارتباطات- این ارتباط بین دو نهاد است. یک موجودیت می تواند با موجودیت دیگری یا با خود در ارتباط باشد.
روابط به یک نهاد امکان می دهد موجودات دیگری را که با آن ارتباط دارند پیدا کند. به عنوان مثال ، روابط بین نهادها می تواند با عبارات زیر بیان شود - "شغل ممکن است چندین کودک داشته باشد" ، "هر کارمند باید دقیقاً در یک بخش ذکر شده باشد". از نظر گرافیکی ، این رابطه توسط یک خط که دو نهاد را به هم متصل می کند به تصویر کشیده شده است:

شکل. 4

هر اتصال دارای دو انتها و یک یا دو نام است. این اسم معمولاً به صورت فعل نامشخص بیان می شود: "داشتن" ، "تعلق" و غیره. هر یک از موارد به پایان ارتباط خود اشاره دارد. بعضی اوقات به دلیل بدیهی بودن نام آنها نوشته نمی شود.

هر لینک می تواند یکی از موارد زیر را داشته باشد انواع ارتباطات:

شکل. پنج

نوع رابطه یک به یکبدین معنی است که یک نمونه از موجودیت اول (سمت چپ) با یک نمونه از موجودیت دوم (سمت راست) مرتبط است. رابطه یک به یک اغلب نشان می دهد که در حقیقت ما فقط یک موجودیت داریم که به طور نادرست به دو تقسیم می شود.

نوع رابطه یکی به بسیاریبدین معنی است که یک نمونه از موجودیت اول (سمت چپ) با چندین نمونه از نهاد دوم (سمت راست) همراه است. این متداول ترین نوع اتصال است. موجودیت چپ (از سمت "یک") نامیده می شود والدین، درست (از طرف "بسیاری") - شرکت تابعه. نمونه بارز چنین ارتباطی در شکل نشان داده شده است. 4

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

هر پیوند می تواند یکی از دو تا داشته باشد روشهای ارتباطی:

شکل. 6

روش " می توان"بدان معنی است که یک نمونه از یک نهاد ممکن است با یک یا چند نمونه از نهاد دیگر در ارتباط باشد ، یا ممکن است با هیچ نمونه ای همراه نباشد.
روش " باید"بدان معنی است که یک نمونه از یک نهاد باید حداقل با یک نمونه از موجودیت دیگر در ارتباط باشد.
ارتباطات می توانند از اهداف مختلف متفاوت باشند (مانند شکل 4). نحو گرافیکی توصیف شده به شما امکان می دهد نمودارها را با استفاده از طرح ساخت عبارت زیر به صورت مبهم بخوانید:

<Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>

هر پیوند را می توان از چپ به راست و از راست به چپ خواند. اتصال در شکل 4 به صورت زیر می خواند:

از چپ به راست: "هر کارمند می تواند چندین فرزند داشته باشد."
از چپ به راست: "هر کودک باید دقیقاً متعلق به یک کارمند باشد."

نمونه ای از تهیه یک مدل ساده ER

هنگام تهیه مدلهای ER ، باید اطلاعات زیر را در مورد موضوع مورد نظر بدست آوریم:

  1. لیست اشخاص منطقه.
  2. لیست ویژگیهای موجودیت
  3. شرح رابطه بین موجودات.

نمودارهای ER به راحتی مناسب هستند زیرا روند استخراج اشخاص ، خصوصیات و روابط تکراری است. با تهیه اولین نسخه تقریبی نمودارها ، با سؤال از متخصصان حوزه ، آنها را تصحیح می کنیم. در این حالت ، مستنداتی که در نتیجه نتایج مکالمه ثبت می شود ، خود نمودارهای ER هستند.

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

به عنوان مثال ، در طی مکالمه با یک مدیر فروش ، معلوم شد که وی (مدیر) معتقد است که سیستم طراحی شده باید اقدامات زیر را انجام دهد:

  • اطلاعات مشتری را ذخیره کنید.
  • فاکتور کالاهای منتشر شده را چاپ کنید.
  • نظارت بر در دسترس بودن کالا در انبار.

ما در این جملات همه اسم ها را انتخاب می کنیم - اینها نامزد احتمالی اشخاص و صفات خواهند بود و آنها را تجزیه و تحلیل می کنیم (اصطلاحات مبهم را با علامت سؤال برجسته خواهیم کرد):

  • خریدار نامزد مشخصی برای جوهره است.
  • فاکتور نامزد مشخصی برای موجودیت است.
  • محصول - نامزد مشخصی برای جوهر
  • (؟) انبار - بطور کلی شرکت چند انبار دارد؟ اگر چندین نفر باشد ، این کاندیدای موجودیت جدید خواهد بود.
  • (؟) حضور یک محصول به احتمال زیاد یک ویژگی است ، اما کدام ویژگی یک موجودیت؟

بلافاصله بین نهادها ارتباط آشکار برقرار می شود - "خریداران می توانند کالاهای زیادی را خریداری کنند" و "کالاها می توانند به بسیاری از خریداران فروخته شوند". نسخه اول این نمودار به شرح زیر است:

شکل. 7

پس از پرسیدن سؤالات اضافی به مدیر ، فهمیدیم که این شرکت دارای چندین انبار است. علاوه بر این ، هر محصول را می توان در چندین انبار ذخیره کرد و از هر انبار فروخته شد.

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

شکل. 8

وقت آن است که در مورد ویژگی های موجودیت فکر کنیم. در گفتگو با کارمندان شرکت ، موارد زیر را فهمیدیم:

  • هر خریدار است نهاد قانونی و دارای نام ، آدرس ، اطلاعات بانکی است.
  • هر محصول دارای یک نام ، قیمت است و همچنین توسط واحدها مشخص می شود.
  • هر فاکتور دارای یک شماره منحصر به فرد ، تاریخ صدور ، لیستی از کالاها با کمیت و قیمت و همچنین کل فاکتور می باشد. فاکتور از یک انبار خاص و به یک خریدار خاص صادر می شود.
  • هر انبار نام خود را دارد.
  • مجدداً ، همه اسمی را که ویژگی های بالقوه هستند ، می نویسیم و آنها را تجزیه و تحلیل می کنیم:
  • نهاد حقوقی یک اصطلاح بلاغی است ، ما با افراد کار نمی کنیم. ما توجه نمی کنیم.
  • نام خریدار توضیحات روشنی از خریدار است.
  • آدرس نشانه روشنی از خریدار است.
  • جزئیات بانک - توضیحی روشن از خریدار.
  • نام کالا مشخصه بارز کالا است.
  • (؟) قیمت محصول - به نظر می رسد این یک ویژگی از محصول است. آیا این ویژگی با قیمت موجود در فاکتور متفاوت است؟
  • واحد اندازه گیری - مشخصه بارز کالا.
  • شماره فاکتور مشخصه منحصر به فرد فاکتور است.
  • تاریخ فاکتور مشخصه مشخص فاکتور است.
  • (؟) لیست کالاهای موجود در فاکتور - این لیست نمی تواند یک ویژگی باشد. احتمالاً ، شما باید این لیست را به عنوان یک نهاد جداگانه انتخاب کنید.
  • (؟) مقدار کالاهای موجود در فاکتور مشخصه بارز است ، اما ویژگی آن چیست؟ این ویژگی فقط "کالاها" نیست ، بلکه "کالاهای موجود در فاکتور" است.
  • (؟) قیمت کالاهای موجود در فاکتور - مجدداً ، این فقط توضیحات کالا نیست بلکه مشخصات کالاهای موجود در فاکتور است. اما قیمت کالاها قبلاً بالاتر رفته است - آیا همین موضوع است؟
  • مبلغ فاکتور مشخصه بارز فاکتور است. این ویژگی مستقل نیست. مبلغ فاکتور برابر است با مبلغ هزینه کلیه کالاهای موجود در فاکتور.
  • نام انبار مشخصه بارز انبار است.

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

با مفهوم نوظهور "لیست کالاهای موجود در فاکتور" ، همه چیز کاملاً واضح است. اشخاص "فاکتور" و "محصول" با یک رابطه بسیار زیاد با یکدیگر در ارتباط هستند. چنین ارتباطی ، همانطور که قبلاً نیز اشاره کردیم ، باید به دو روابط یک به یک تقسیم شود. این نیاز به یک نهاد اضافی دارد. این نهاد واحد "لیست کالاهای موجود در فاکتور" خواهد بود. ارتباط آن با اشخاص "فاکتور" و "محصول" با عبارات زیر مشخص می شود: "هر فاکتور باید از فهرست کالاهای موجود در فاکتور چندین مدخل داشته باشد" ، "هر ورودی از لیست کالاهای موجود در فاکتور باید دقیقاً در یک فاکتور درج شود" ، "هر یک از فاکتورها می تواند درج شود. در چندین مدخل از لیست کالاهای موجود در فاکتور "" ، "هر ورودی از لیست کالاهای موجود در فاکتور باید دقیقاً با یک محصول همراه باشد." ویژگی های "مقدار کالا در فاکتور" و "قیمت کالاهای موجود در فاکتور" از ویژگی های موجودیت "لیست کالاهای موجود در فاکتور" هستند.

ما همین کار را با اتصال اتصال اشخاص "Warehouse" و "Product" انجام خواهیم داد. نهاد اضافی "محصول در انبار" را معرفی می کنیم. ویژگی این نهاد "مقدار کالاهای موجود در انبار" خواهد بود. بنابراین کالاها در هر انبار ذکر شده و مقدار آن در هر انبار متفاوت خواهد بود.

اکنون می توانید تمام این موارد را به نمودار اضافه کنید:

شکل. نه

مدل های ER مفهومی و فیزیکی

نمودار ER که در بالا تهیه شده است مثالی است. نمودار مفهومی. این بدان معنی است که نمودار ویژگی های DBMS خاص را در نظر نمی گیرد. با استفاده از این نمودار مفهومی می توانید ساخت نمودار فیزیکی، که از قبل ویژگیهای DBMS مانند انواع و نامهای معتبر زمینه ها و جداول ، محدودیت های یکپارچگی و غیره را در نظر می گیرد. نسخه فیزیکی نمودار نشان داده شده در شکل. به عنوان مثال ، 9 ممکن است به شرح زیر باشد:

شکل. ده

در این نمودار ، هر موجودیت یک جدول پایگاه داده است ، هر ویژگی به ستونی از جدول مربوطه تبدیل می شود. ما توجه می کنیم که در بسیاری از جداول ، به عنوان مثال ، "CUST_DETAIL" و "PROD_IN_SKLAD" مربوط به اشخاص "ثبت لیست فاکتور" و "محصول موجود در انبار" ، ویژگی های جدیدی ظاهر می شوند که در مدل مفهومی نبودند - اینها ویژگیهای اصلی جداول والدین هستند. ، مهاجرت کردبه میزهای کودک برای ایجاد ارتباط بین جداول از طریق کلیدهای خارجی.

به راحتی می توان فهمید که جداول حاصل بلافاصله در 3NF قرار دارند.

یافته ها

ابزار واقعی برای مدل سازی داده ها یک روش رسمی برای عادی سازی روابط نیست ، بلکه به اصطلاح است مدل سازی معنایی.

گزینه های مختلف به عنوان یک ابزار مدل سازی معنایی استفاده می شود. نمودارهای موجودیت رابطه(ER - رابطه شخصیتی).

نمودارهای رابطه ی موجودیت به شما امکان می دهد تا از نمادهای گرافیکی بصری برای مدل سازی موجودات و روابط آنها استفاده کنید.

تمیز دادن مفهومیو جسمینمودارهای ER نمودارهای مفهومی ویژگیهای خاص DBMS را در نظر نمی گیرند. نمودارهای فیزیکی بر پایه مفهومی ساخته شده و نمونه اولیه یک پایگاه داده خاص را نشان می دهند. اشخاص تعریف شده در نمودار مفهومی به جدول تبدیل می شوند ، صفات تبدیل به ستون جداول می شوند (این نوع داده های معتبر و نام ستون ها را برای این DBMS در نظر می گیرد) ، روابط توسط مهاجرتویژگی های اصلی نهادهای والدین و ایجاد کلیدهای خارجی.

با تعریف صحیح موجودات ، جداول حاصل بلافاصله در 3NF خواهند بود. مهمترین مزیت این روش این است که این مدل با روش تصفیه های پی در پی نمودارهای اصلی ساخته شده است.

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

مدل منطقی داده های ضروری نمایش منطقی مستقل از داده ها است.

مدل بدنی داده های (جدولی) شامل تعاریفی از تمام اشیاء اجرا شده در یک بانک اطلاعاتی خاص برای یک DBMS خاص است.

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

در آخرین سخنرانی ، ما با روش های IDEF0 و DFD آشنا شدیم که به ما اجازه می دهد فرآیندهای تجاری را که در سیستم اطلاعات در حال وقوع است ، توصیف کنیم. در مدل DFD ، ما یک عنصر را بررسی کردیم - یک انبار داده ، که انواع اطلاعاتی را که سیستم در آن کار می کند نشان می دهد. با این حال ، این روش برای توصیف ساختار اطلاعات ذخیره شده در نظر گرفته نشده است. به همین منظور ، روابط مختلف شخصیتی مناسب تر است - نمودارها (نمودارهای موجودیت) ، که هدف آنها توصیف ساختار داده های ذخیره شده و روابط بین آنها است. تکنیک هایی ایجاد شده اند که به شما امکان می دهند چنین داده هایی را به مجموعه ای از دستورات تبدیل کنید که باعث ایجاد ذخیره های لازم (جداول) در داخل بانک اطلاعاتی سیستم اطلاعات می شود.

مدل سازی ER

AT سیستم های اطلاعاتیآه ، داده ها به دسته ها یا اشخاص جداگانه تقسیم می شوند. از این گذشته ، به یاد داریم که یک بانک اطلاعاتی مجموعه ای از داده های ساخت یافته است. داده های انواع مختلف به طور جداگانه ذخیره می شوند. وظیفه مدل ER این است که نشان دهد چه نوع اطلاعاتی در سیستم ذخیره می شوند ، ساختار آنها چیست و چگونه به هم پیوسته اند. مدل ER بر اساس یک تحلیل تجاری (نمودار DF ساخته شده) ساخته شده است. در این حالت ، در ابتدا ، هر فروشگاه در نمودار DF به یک موجودیت در نمودار ER تبدیل می شود. در جریان تجزیه و تحلیل بیشتر ، آنها را می توان به بخش های جزئی تقسیم کرد. لازم به ذکر است که مدلهای ER نسبت به نمودارهای DF نسبت به تغییرات در ساختار کسب و کار مقاوم تر هستند. فرآیندهای تجاری می توانند تغییر کنند ، اما اطلاعاتی که برای اجرای آنها لازم است اغلب بدون تغییر باقی می ماند.

مزایای اصلی مدل های ER:

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

انواع اصلی اشیاء در نمودار ER:

  • Entity - نوع اشیاء ، اطلاعات مربوط به آنها در پایگاه داده ذخیره می شود. به عنوان مثال: ادارات ، کارمندان ، کالاها ، فاکتورها.
  • ویژگی - عناصری که نهاد در آن تشکیل شده است. به عنوان مثال ، برای موجودیت "کالاها" ، بسته به نیاز سیستم اطلاعات ممکن است "نام" ، "توضیحات" ، "مقدار" ، "قیمت" و موارد دیگر باشد. بسته به نماد نمودار ER ، در کنار ویژگی ، علاوه بر نام آن ، نوع و پر کردن اجباری را نیز مشخص کنید. اسلایدها نمودار ER را در نماد "مهندسی اطلاعات" نشان می دهد ، که بر اساس آن نام ویژگی ، نوع مشخص شده است ، و یک فریاد بیرونی و / یا اولیه است.
  • روابط روابط بین موجودات را نشان می دهد. به عنوان مثال ، یک کارمند در یک اداره کار می کند ، جایی که "بخش" و "بخش" اشخاص هستند.

موجودیت مجموعه ای از اشیاء دنیای واقعی است که هر یک از این ویژگی ها دارای ویژگی های زیر است:

  • بی نظیر (می توان به هر طریقی از همه دیگران جدا شد)
  • نقشی در سیستم شبیه سازی شده ایفا می کند
  • می توان توسط یک یا چند عنصر اطلاعاتی توصیف کرد (ویژگی)

مثال: افراد ، کارمندان ، رویدادها ، سفارشات ، فروش ، مشتریان ، تأمین کنندگان

این ویژگی برخی خصوصیات یک موجودیت را توصیف می کند. یک موجودیت می تواند بسیاری از خصوصیات را داشته باشد ، اما فقط ویژگی های مهم برای سیستم انتخاب می شوند. ویژگی ها به کلیدهای Entity و توصیف کننده های Entity تقسیم می شوند. ویژگی های اصلی باید بطور یکسان و مصادیق یک موجودیت را شناسایی کنند. برای هر صفت باید یک دامنه مشخص شود (نوع ، منطقه موضوع).

اسلایدها نشان می دهد که چگونه اشخاص و ویژگی ها در نمادهای مختلف مدل های ER ثبت می شوند. در همه نمادها ، یک موجود شیء مستطیل شکل است که در قسمت بالایی نام آن موجودیت نشان داده شده است. ویژگی ها در زیر نام نهاد ذکر شده اند.

بیایید نگاهی دقیق تر به ویژگی های اصلی داشته باشیم. این مهم برای درک انواع روابط بین موجودات مهم است.

اصطلاحات اساسی

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

  • "نوع داده" (نوع ، دامنه - دامنه) - مجموعه ای از مقادیر مجاز ("دامنه") و عملیات. برای همه انواع ، عملیات مقایسه و واگذاری وجود دارد. مقادیر از داشتن یک ساختار مانند یک شیء ممنوع نیست.
  • "رابطه" - مجموعه ای از ویژگیها: نامهای منحصر به فرد با مشخصات نوع داده. به علاوه بسیاری از "مجموعه های کمیت" ("سری") مربوط به ویژگی ها. مقادیر موجود در مجموعه ها فقط می توانند با مقادیر واحد مطابق با انواع ویژگی ها مشخص شوند ، یعنی مقیاس پذیر باشند ("1 فرم عادی").
  • "كليد" گروهي از صفات است كه مقادير آن در كل مجموعه ها با هم نسبتاً متفاوت است ، اما يك زيرگروه واحد از اين ويژگيها قبلاً اين ويژگي را ندارد (ويژگي "حداقلي" يك كليد). به طور خاص ، یک گروه ممکن است از یک ویژگی واحد تشکیل شود. کلید احترام همیشه باید وجود داشته باشد و در صورت وجود چندین مورد ، یکی از آنها باید به عنوان "اولیه" (اولیه) تعیین شود.
  • "کلید خارجی" گروهی از ویژگیهایی است که مقادیر آنها در هر مجموعه ای از مقادیر یک رابطه باید با مقادیر یک کلید احتمالاً رابطه دیگری مطابقت داشته باشد. کلیدهای خارجی با توجه به اختیاری هستند و با توجه به نیازهای شبیه سازی اعلام می شوند.
  • "عملیات" (عملیات) - بسیاری از اقدامات مشترک در روابط ، و در نتیجه دوباره رابطه ("عملیات بسته") انجام می شود. مورد استفاده برای به دست آوردن روابط جدید در نیازهای مدل سازی بعدی یا هنگام بازیابی اطلاعات لازم از بانک اطلاعاتی. لیست عملیات به روش های مختلفی قابل تعریف است. در اولین جملات مدل ، هشت عملیات (طرح ریزی ، اتصال ، انتخاب و غیره) ارائه شده است ، دیگر مجموعه ای حداقل نیست ، به عنوان یک سازش بین فقدان افزونگی و سهولت استفاده.
  • " بانک اطلاعاتی رابطه ای" (پایگاه داده رابطه) - مجموعه ای از روابط.

"نوع داده" گاهی اوقات "دامنه" (دامنه) خوانده می شود ، اما بعضی اوقات توسط "دامنه" آنها فقط "دامنه" کمیت ها را معنی می دهند. "مجموعه ای از مقادیر" (تاپل) در زبان روسی در غیر این صورت "تاپل" یا "n-koi" خوانده می شود.

برای راحتی ، روابط اغلب به صورت جداول به تصویر کشیده می شوند ، گرچه چنین نمایندگی غیرقانونی است (بر خلاف جدول ، نه ترتیب صفات و نه ترتیب مجموعه مقادیر در رابطه با آنها تعریف نشده است). در SQL ، بر اساس آن Oracle DBMS ساخته شده است ، مفهوم "رابطه" به عنوان ابزار مدل سازی فقط با یک "جدول" جایگزین می شود. بازنمایی دیگر از داده های رابطه ممکن است یک hypercube باشد ، و همچنین گاهی اوقات راحت است که در بحث های مربوط به یک پایگاه داده موجود ، به آن متوسل شوید.

اگر مقاله رابط ردیابی کلمه ای "رابطه ای" را رها کنیم ، می توان اصطلاح "بانک اطلاعاتی رابطه" را به عنوان "بانک اطلاعاتی روابط" ترجمه کرد (به عبارت دقیق تر ، "بانک اطلاعاتی ساخته شده از طریق روابط "؛ روابط به عنوان ابزاری ، و نه هدف الگوسازی: در غیر این صورت اصطلاح اصلی عبارت است از پایگاه داده رابطه). به همین ترتیب می توان اصطلاح" مدل رابطه "را به عنوان" الگوی روابط "ترجمه کرد ، یعنی" سیستم مفاهیم برای ساختن یک مدل دامنه در قالب یک مجموعه. روابط. "به چند دلیل ، از جمله موارد تاریخی و زبانی ، این کار در آن زمان انجام نشده است.

تمام روابط داده ها شرح داده شده است. به طور مشخص و فقط مقادیر در مجموعه ها (در روشهای دیگر برای مدل سازی ، ممکن است متفاوت باشد). هیچ وابستگی "ضمنی" (از جمله در سطح منطق برنامه) وجود ندارد ، بجز مواردی که توسط متغیرهای رابطه تنظیم شده است. رویکرد رابطه ای بین توضیحات داده و منطق نرم افزار مرتبط با برنامه تمایز قائل می شود (برخلاف مثلاً رویکرد شی).

نمای فوق از یک پایگاه داده رابطه ای (مجموعه ای از روابط و عملیات) نمونه بارز است جبر رابطه ای. این تنها دیدگاه نیست. هر مجموعه ای از مقادیر در یک متغیر رابطه می تواند به عنوان یک عبارت واقعی درک شود ("محمول"): چنین شخصی وجود دارد و چنین کارهایی دارد. چنین دپارتمانی و غیره بنابراین ، پایگاه داده رابطه در هر لحظه از زمان مجموعه ای از عبارات واقعی در مورد موضوع موضوع است ، که از طریق روابط تنظیم شده است. در حقیقت ، مجموعه ای از اظهارات در روابط متغیر ، یک مدل دامنه را نشان می دهد که توسط یک پایگاه داده ارائه می شود. این نمای دیتابیس رابطه ای مشخصه است حساب رابطه. هر دو دیدگاه در مورد مدل رابطه به خوبی مورد مطالعه قرار گرفته و برابری بیان آنها ثابت شده است.

برای اصطلاحات ذکر شده در اسلایدهای قبلی ، معادل های غیررسمی وجود دارد تا درک و یادآوری معنی آنها آسان تر شود:

  • رابطه → جدول
  • Tuple → رشته ، ضبط کنید
  • Cardinality → تعداد ردیف ها
  • ویژگی → فیلد ستون
  • درجه → تعداد ستون ها
  • شناسه اصلی
  • دامنه → دامنه معتبر

زمینه های کلیدی

برخی از ویژگی های یک رابطه کلید یا کلید هستند. چندین نوع کلید وجود دارد:

  • کلید ساده - متشکل از یک ویژگی ، مرکب - از چند مورد.
  • کلید بالقوه - یک ویژگی یا مجموعه ای از ویژگی هایی که می تواند هر یک از اصطلاحات رابطه را مشخص کند. به عنوان مثال ، در رابطه با اداره گذرنامه ("شماره گذرنامه") و ("نام" و "تاریخ تولد") - کلیدهای بالقوه ای که اجازه می دهد تا هر شخص به طور جداگانه شناسایی شود.
  • در هر رابطه ، فقط یک کلید اصلی وجود دارد - یک ویژگی یا مجموعه ای از مقادیر صفت که از آنها به طور منحصر به فرد هر رکورد را مشخص می کند. اگر چندین مجموعه از ویژگی ها دارای چنین ویژگی هایی باشند ، یکی از آنها به عنوان اصلی انتخاب می شود و سایر موارد به عنوان گزینه جایگزین انتخاب می شوند.
  • کلید خارجی - فروشگاه ها مقدار کلید اصلی رابطه دیگر. از کلیدهای خارجی برای برقراری ارتباط بین روابط استفاده می شود.

کلید اصلی

  • هر رابطه فقط دارای 1 کلید اصلی است و سایر موارد جایگزین هستند.
  • مقدار تمام خصوصیات اصلی کلید نه شاید تعریف نشده به عنوان مثال ، یک رابطه ، اطلاعاتی را در مورد ساکنان شهر ذخیره می کند. کلید اصلی یک کلید ترکیبی است (NAME ، SURNAME ، تاریخ تولد). سیستم اطلاعاتی در ایسلند نصب شده است ، جایی که از نام خانوادگی استفاده نمی شود ، به این معنی که ویژگی "نام خانوادگی" برای اکثر تاپ ها خالی خواهد بود. با وجود این ، کلید اصلی کامپوزیت به شناسایی منحصر به فرد هر یک از قلاب ها ادامه خواهد داد. با این حال ، جایز نیست که مقادیر تمام صفات کلید اصلی در همان زمان خالی باشد.
  • مقدار کلیدی اصلی بر موقعیت تاپل ها در نمای جدول رابطه تأثیر نمی گذارد. حتی اگر مقدار کلید اصلی یک عدد باشد (مثلاً 1،2،3 ...) در حالت کلی ، این تضمین نمی کند که توپ های داخل دیتابیس به همان ترتیب ذخیره شوند و به همان ترتیب نمایش داده می شوند. در "حالت کلی" ، به این معنی است که گاهی اوقات ، به دلیل ویژگی های DBMS خاص ، ردیف ها را می توان با کلید اصلی مرتب سازی کرد ، اما این یک استثناء است. در مورد نتایج جستجوی نتایج ، ما باید صراحتا نظمی را که در آن برای خروجی خطوط وجود دارد ، بیان کنیم ، در صورت مهم بودن این سفارش. نتایج جستجوی "5 نفر اول به من بده" غیرقابل پیش بینی است ، مگر اینکه با چه معیارهایی مشخص شویم که آنها باید "اول" باشند.
  • کلید اصلی بر دسترسی به ویژگیهای تاپل تأثیر نمی گذارد. به عنوان مثال ، در رابطه با "اداره گذرنامه" ، آدرس ثبت نام شخص به همراه نام و تاریخ تولد ذخیره می شود. ما می توانیم از بانک اطلاعاتی بخواهیم بدون آدرس و نام تولد ، تمام آدرس ها را استخراج کند.

کلید خارجی

از کلید خارجی برای ایجاد روابط بین روابط استفاده می شود. به عنوان مثال ، دو رابطه "صاحبان" (کلید اصلی "شماره گذرنامه") و "املاک و مستغلات" را در نظر بگیرید. برای تعیین اینکه چه کسی مالک هر یک از املاک و مستغلات است ، ما این روابط را با مقدار صفت "شماره گذرنامه" مرتبط می کنیم. برخلاف کلید اصلی ، می توان مقدار کلید خارجی را تعریف نکرد (خط 4 روی اسلاید) - اگر صاحب ملک را نشناسیم ، آن را نشان نمی دهیم. بر خلاف کلید اصلی ، می توانید مقدار کلید خارجی را تکرار کنید (غرق در 1.3 اسلاید). با این حال ، این واقعیت که ویژگی "شماره گذرنامه" در رابطه با "املاک و مستغلات" یک کلید خارجی اصلی کلید اصلی رابطه "مالک" است تضمین می کند که مقدار ویژگی "شماره گذشت" فقط می تواند مقادیری از کلید اصلی باشد. ما نمی توانیم تعداد کشیش شخصی را که هنوز در رابطه "مالک" نیست به عنوان مقدار ویژگی (خط 5) مشخص کنیم.

با تنظیم یک کلید خارجی ، اگر مقدار کلید اصلی را تغییر دهید یا tuple را حذف کنید ، می توانید صحیح رفتار DBMS را تنظیم کنید. با این حال ، قاعده "فقط مقادیر موجود در کلید اصلی یا مقدار نامشخص (NULL)" در کلید خارجی ذخیره می شوند.

یک کلید خارجی بین روابط معمولاً در طول طراحی بانک اطلاعاتی تنظیم می شود. با این حال ، اگر اضافه شدن این محدودیت با خصوصیات کلید خارجی نباشد ، می تواند در هر زمان برداشته شود یا دوباره نصب شود. حذف / نصب کلیدهای خارجی معمولاً هنگام وارد کردن مقادیر بسیار زیاد داده برای سرعت بخشیدن به این فرآیند انجام می شود - DBMS نمی تواند داده های متناقض (نادرست ، نادرست) را ذخیره کند ، بنابراین هنگام وارد کردن هر سطر ، هر محدودیت را بررسی می کند.

مدل های ER: ارتباطات

در مدلهای ER کلیدهای خارجی به صورت پیوند نمایش داده می شوند.

هر اتصال با 4 ویژگی - قدرت ، قدرت ، درجه و مشارکت موجودیت در اتصال مشخص می شود.

ما این خصوصیات را تحلیل خواهیم کرد.

دخالت نهاد در ارتباطات

در ارتباطات توسط یک خط مقطع یا یک دایره تعیین می شود.

خط مقطع یعنی واجب (اجباری) مشارکت نهاد در ارتباطات و حلقه - اختیاری (اختیاری).

در صورت مشارکت واجب موجود در ارتباط ، فعل " باید". با مشارکت اختیاری اشخاص در ارتباطات ، از فعل استفاده کنید" می توان".

در بخش می توان چندین کارمند کار کنید کارمند باید در بعضی از بخش ها کار کنید

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

متداول ترین اتصالات باینری - آنها دو نهاد مختلف را به هم متصل می کنند ("بخش" - "کارمند" ، "سفارش" - "کالاها" ، "دوره" - "سخنرانی" ، "گروه" - "دانشجویان"). اوراق قرضه غیرقانونی که کمتر متداول است ، اما هنوز هم اغلب مورد استفاده قرار می گیرد. با کمک آنها ، رابطه لانه سازی معمولاً بر روی اشیاء از همان نوع تنظیم می شود (رابطه "جزئیات" - می توانیم مشخص کنیم که کدام مؤلفه قسمت مشخص شده ، رابطه "کارمندان" است - می توانیم مشخص کنیم که کدام کارمند رئیس این کار است).

قدرت ارتباطات نشان می دهد که چند نمونه از یک موجودیت با نمونه های موجودیت دیگر در ارتباط است.

قدرت می تواند باشد:

  • یک به یک (1: 1) - در یک گروه از دانش آموزان یک رئیس وجود دارد.
  • یکی به بسیاری (1: ن) - بسیاری از کارمندان در یک بخش مشغول به کار هستند.
  • خیلی به خیلی (M: N) - یک خریدار کالاهای زیادی را خریداری کرد ، بسیاری از خریداران کالا خریداری کردند.

قدرت پیوند: روابط قدرتمند شناسایی

یک نهاد کودک بدون موجودیت والدین نمی تواند وجود داشته باشد. (بدون سوال پاسخی وجود ندارد ؛ در صورتی که سبد موجود در آن وجود نداشته باشد هیچ محصولی وجود ندارد)

در این حالت ، کلید اصلی از والدین به کودک مهاجرت می کند ، جایی که بخشی از کلید اصلی می شود.

در یک نمودار ، یک ارتباط قوی توسط یک خط غیرقابل توصیف بین موجودات نشان داده شده است.

قدرت ارتباطات: روابط ناشناس

نهادهای والدین و کودک با هم مرتبط هستند ، اما موجودیت کودک می تواند زودتر ایجاد شود. (کالاها متعلق به سفارش هستند ، اما کالاها قبل از ایجاد سفارش می توانند در انبار باشند).

کلید اصلی از والدین به کودک مهاجرت می کند و جزئی از کلید اصلی نیست (فقط یک کلید خارجی می شود).

در نمودار ، یک اتصال قوی توسط یک خط متراکم بین موجودات نشان داده شده است.

بازگشتی-ارتباطی (ارتباطات unary)

اغلب برای ساخت سلسله مراتب استفاده می شود.

تأمین کننده ممکن است با مشتری های ZERO یا بیشتر کار کند (id_Customer).

مشتری باید با یک ارائه دهنده کار کند (id_Sup).

اما تأمین کننده و مشتری - چه سازمان بنگاه اقتصادی باشد - از یک نوع برخوردار هستند و به همین دلیل در همین راستا ذخیره می شوند.

رابطه خیلی به خیلی.

مثال: تأمین کنندگان می توانند انواع مختلفی از کالاها را تهیه کنند. تأمین کنندگان مختلف ممکن است کالاهای مشابهی را تهیه کنند.

رابطه بسیاری به خیلی از نظر مدل ER قابل قبول است ، اما نمی تواند مستقیماً از نظر جبر رابطه منعکس شود.

ابهام ارتباطات با معرفی اشخاص گذار برطرف می شود ، همانطور که در اسلایدها نشان داده شده است.

مدل های ER و واقعیت

نگاه دقیق تر به روابط یک به یک تقریباً همیشه نشان می دهد که A و B در واقع زیر مجموعه های مختلفی از همین موضوع یا دیدگاه های مختلف در مورد آن هستند ، فقط داشتن نام های مختلف و روابط و ویژگی های متفاوت توصیف شده.

تصور کنید که A تامین کننده است ، B محصول است.

اجباری-اجباریبرای مثال نشان داده شده در اسلایدها ، این رابطه بدین معنی است که هر تهیه کننده باید فقط یک مورد را تأمین کنید منحصر بفرد مجموعه ای از کالاها (فاکتور). از نظر تئوری ، همه چیز اینجا خوب است. در عمل ، این جایز نیست: هیچ کس به دنبال تأمین کننده جدید نخواهد بود اگر تأمین کننده ای که تأیید کرده اید ، می تواند چندین محصول را ارائه دهد. و اکنون در مورد احساسات ، گربه هنگام تلاش برای وارد کردن اطلاعات در مورد تهیه کننده جدید ، اپراتور را تجربه خواهد کرد. او قادر به وارد کردن داده ها در هر یک از جداول نخواهد بود. بنابراین تمام چمدان های واژگان نامفهوم برای شما ارسال می شود.

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

اختیاری-اختیاری. همانطور که می بینیم ، اپراتور دوباره خوب عمل می کند ، اما تجارت دوباره مشکل دارد. به طور خلاصه یک رابطه یک به یک. اگر اشخاص در رابطه ای به عنوان: - اجباری-اجباری شرکت می کنند ، پس چنین رابطه ای حق زندگی ندارد. - اختیاری-اجباری (اجباری-اختیاری) یا اختیاری-اختیاری ، پس پشتیبانی تجاری مشکل ساز است.

رابطه یک و چند اجباری-اجباری یک ساختاری نسبتاً قوی است ، نشان می دهد که ورود یک نهاد B بدون ایجاد همزمان حداقل یک ورودی مرتبط با موجودیت A. نمی تواند ایجاد شود. بیشتر اوقات این یک رابطه نادرست است.

الزام آور بودن یک به چند اختیاری ، رایج ترین شکل ارتباط است. فرض می کند که هر یک از وقایع موجودیت A می تواند تنها در بستر یک (و تنها یک) از وقوع موجودیت B. وجود داشته باشد. به نوبه خود ، وقایع B می تواند هم در ارتباط با وقایع A و هم بدون آن وجود داشته باشد.

رابطه یک به چند اختیاری - اختیاری - هر دو A و B می توانند بدون ایجاد رابطه بین آنها وجود داشته باشند.

از نظر اسلایدهای قبلی ، این نمودارها را می توان با مثالهای زیر نشان داد.

روابط یک به یک. این روابط نشان می دهد که یک رکورد در یک جدول می تواند منطقی با چندین رکورد در جدول دیگری مرتبط شود.

اجباری-اجباریبرای مثال نشان داده شده در اسلایدها ، این رابطه بدین معنی است که هر تأمین کننده (A) باید یک یا چند مجموعه کالا (B) را تهیه کند. از نظر تئوری ، همه چیز اینجا خوب است. اما ، در عمل ، اپراتور قادر به وارد کردن داده ها در هر یک از جداول نخواهد بود ، زیرا سوابق لازم است همزمان در هر دو جدول وارد کنید

اختیاری-اجباری.در این حالت ، اپراتور اکنون درست است: او می تواند داده ها را وارد کند ، اما ممکن است تجارت مشکلاتی داشته باشد. واقعیت این است که رابطه اختیاری-اجباری فرض می کند که ارائه دهنده (A) باید تحویل یک یا چند مجموعه کالا (B) ، در حالی که B می توان متعلق به تهیه کننده است. به عبارت دیگر ، کالاها می توانند بدون تهیه کننده وجود داشته باشند ، در حالی که تهیه کننده کالا دارد. آن احتمالاً مشاغل کنترل نشده: چه کسی کالا را تحویل داده است؟ از کی بپرسم؟ آیا تجارت نیاز به مشکلات دارد؟ نه او باید سود کسب کند. در این حالت ، بهتر است از اجباری - اختیاری استفاده شود: تأمین کننده می تواند یک یا چند مجموعه کالا را تأمین کند ، در حالی که کالاها باید متعلق به تهیه کننده باشند. به عبارت دیگر ، کالاها دارای تأمین کننده هستند و اطلاعات مربوط به تأمین کنندگان که یک بار کالا را تحویل داده اند ذخیره می شوند. و گوسفندها بی خطر هستند و گرگها پر هستند - اپراتور می تواند داده ها را وارد کند و تاجر در کار باشد.

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

بسیاری از روابط در نمودارهای ER قابل قبول است ، اما وقتی به نمای جدول تبدیل شود ، چنین رابطه ای توسط یک نهاد واسطه جایگزین می شود.

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

اجباری بسیار زیاد اجباری - به ندرت مورد استفاده قرار می گیرد. چنین روابطی همیشه در معرض توضیح بیشتر است.

ارتباطات بازگشتی. این روابط نشان می دهد که ورود به جدول می تواند به طور منطقی مرتبط باشد.

اختیاری-اختیاری یک به یک. برای مثال که روی اسلایدها نشان داده شده است ، این رابطه بدین معنی است که هر مرد (زن) می تواند با یک زن (مرد) ازدواج کند. این ارتباط برای ردیابی تاریخ ازدواج راحت است: برای اولین بار ، به طور مکرر ، ... به عبارت دیگر ، یک نوع جایگزین از ارتباط.

اختیاری-اختیاری یک به بسیاری. نمونه ای از ارتباطات روی اسلایدها نشان داده شده است. این یک سلسله مراتب کلاسیک (ساختار درخت) است. رابطه نشان داده شده بر روی اسلایدها ، برای مثال قابل تفسیر است: هر کارمند می تواند تابع تنها یك مدیر باشد ، در حالی كه یك مدیر می تواند یك یا بسیاری از كارمندان را رهبری كند.

اختیاری اختیاری M: M نمونه ای از ارتباطات روی اسلایدها نشان داده شده است. این یک ساختار شبکه است.

فهرست سوالات اشخاص

  • آیا نام موجودیت ذات شیء مورد نظر را منعکس می کند؟
  • آیا تقاطع هایی با نهادهای دیگر وجود دارد؟
  • آیا حداقل دو ویژگی وجود دارد؟
  • کل ویژگی ها بیش از هشت نیست؟
  • آیا مترادف / مترادف برای این نهاد وجود دارد؟
  • آیا نهاد کاملاً تعریف شده است؟
  • آیا یک شناسه منحصر به فرد وجود دارد؟
  • آیا حداقل یک اتصال وجود دارد؟
  • آیا حداقل یک کارکرد برای ایجاد ، جستجو ، به روزرسانی ، حذف ، بایگانی و استفاده از یک ارزش موجودیت وجود دارد؟
  • آیا سابقه تغییر حفظ می شود؟
  • آیا با اصول عادی سازی داده مطابقت دارد؟
  • آیا در سیستم برنامه کاربردی دیگر ، احتمالاً تحت نام دیگری ، یک موجودیت مشابه وجود دارد؟
  • آیا موجودیت معنای خیلی کلی دارد؟
  • آیا سطح تعمیم در آن تجسم یافته کافی است؟

فهرست چک سوالات:

  • آیا اسم صفت یک مفرد است و منعکس کننده ذات خاصیتی است که توسط صفت بیان شده است؟
  • آیا نام صفت شامل نام موجودیت است (این نباید باشد)؟
  • آیا صفت فقط یک مقدار دارد؟
  • آیا مقادیر تکراری (یا گروه ها) وجود ندارد؟
  • آیا قالب ، طول ، مقادیر قابل قبول ، الگوریتم بازیابی و غیره شرح داده شده است؟
  • آیا این ویژگی می تواند یک موجودیت از دست رفته باشد که برای یک سیستم کاربردی دیگر (موجود یا ضمنی) مفید باشد؟
  • آیا می تواند یک لینک از دست رفته باشد؟
  • آیا در جایی استناد به ویژگی به عنوان "ویژگی پروژه" وجود دارد ، که باید با انتقال به سطح برنامه از بین برود؟
  • آیا به تاریخ تغییر نیاز دارید؟
  • آیا معنای آن فقط به یک موجود معین بستگی دارد؟
  • اگر به یک مقدار ویژگی نیاز باشد ، آیا همیشه شناخته شده است؟
  • آیا نیاز به ایجاد دامنه برای این و همین ویژگی ها وجود دارد؟
  • آیا مقدار آن فقط به بخشی از شناسه منحصر به فرد بستگی دارد؟
  • آیا مقدار آن به مقادیر برخی از خصوصیات موجود در شناسه منحصر به فرد بستگی دارد؟

مدل رابطه - نهاد - ویژگی - توسط پیتر پین شن شنوف در سال 1976 ارائه شد. بیشتر رویکردهای مدرن برای طراحی بانک اطلاعاتی (عمدتا رابطه ای) مبتنی بر استفاده از انواع مدل ER است. مدل سازی دامنه مبتنی بر استفاده از نمودارهای گرافیکی است که تعداد کمی از اجزای ناهمگن را در بر می گیرد. با توجه به ارائه شفاف از طرح های داده های مفهومی ، مدل های ER به طور گسترده در سیستم های CASE که از طراحی خودکار پایگاه داده های رابطه پشتیبانی می کنند ، استفاده می شود.

مفاهیم اساسی مدل ER عبارتند از ماهیت ، ویژگی و رابطه.

ذات - این یک شی واقعی یا تخیلی است ، اطلاعات مربوط به آن مورد علاقه است. در نمودارهای مدل ER ، یک موجود به عنوان مستطیل حاوی نام موجودیت ارائه می شود. در این حالت ، نام موجودیت نام نوع است ، و نه یک شی خاص - نمونه ای از این نوع. هر نمونه از یک نهاد باید از هر نمونه دیگر از همان موجودیت قابل تشخیص باشد.

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

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

مانند یک نهاد ، یک رابطه یک مفهوم استاندارد است ، تمام مصادیق هر دو جفت موجودات که در ارتباط هستند از مقررات انجمن پیروی می کنند. در شکل 1. نمونه ای از تصویر موجودات و رابطه بین آنها آورده شده است. این نمودار را می توان به شرح زیر تفسیر کرد:

هر دانش آموز فقط در یک گروه مطالعه می کند.

هر گروه متشکل از یک یا چند دانش آموز است.

شکل. 1. رابطه بین موجودات

در شکل 2 جوهر انسان را با یک اتصال بازگشتی نشان می دهد که آن را با خودش متصل می کند. تفسیر شفاهی از نمودار به شرح زیر است:

هر مرد پسر یک و تنها یک مرد است.

هر مرد می تواند پدر یک یا چند نفر ("MAN") باشد.

شکل. 2. ارتباطات بازگشتی

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

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

بسیاری از روابط. بعضی اوقات لازم است نهادها به گونه ای متصل شوند که چندین مورد موجودیت موجود در هر دو انتهای اتصال وجود داشته باشد (برای مثال ، همه اعضای یک تعاونی مشترکاً دارایی دارایی تعاونی را دارند). برای انجام این کار ، نوعی رابطه بسیاری با بسیاری معرفی می شود.

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

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

دامنه ها همانطور که با مدل داده های رابطه ای ، می توان مجموعه ای از اعتبار بالقوه از ویژگی های (دامنه) موجودیت را تعریف کرد.

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

بیشتر اوقات ، در عمل ، از مدل سازی ER در مرحله اول طراحی بانک اطلاعاتی استفاده می شود. نتیجه آن ، به عنوان یک قاعده ، یک مدل مفهومی از موضوع است ، که از نظر مدل ER بیان شده است.

هنگام حرکت به مرحله بعدی - مدل سازی شمای پایگاه داده - توسعه دهنده با بیان مدل مفهومی دامنه موضوع از نظر مدل داده کاربردی (به عنوان مثال رابطه ای) با این مشکل روبرو می شود. برای حل این مشکل سه رویکرد وجود دارد.

رویکرد اول شامل تبدیل دستی مدل مفهومی دامنه موضوع به طرحواره دیتابیس است که طبق روشهایی انجام می شود که در آن کلیه مراحل چنین تحول کاملاً مشخص بیان شده است.

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

رویکردی مبتنی بر بیان صریح مدل مفهومی حوزه موضوع به عنوان منبع منبع برای گردآوری.

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

در هر دو مورد ، نتیجه یک طرحواره پایگاه داده رابطه ای در فرم سوم عادی است.

سرانجام، رویکرد سوم -این کار مستقیم با بانک اطلاعاتی در مدل معنایی است ، یعنی کاربرد DBMS بر اساس مدلهای داده معنایی. در این حالت ، دو گزینه دوباره در نظر گرفته شده است.

اولین گزینه ارائه است رابط کاربری بر اساس یک مدل داده معنایی با نقشه برداری خودکار سازه ها به یک مدل داده های رابطه ای (این وظیفه تقریباً در همان سطح پیچیدگی است همانطور که تلفیق خودکار یک مدل مفهومی از یک دامنه موضوعی به یک شمای پایگاه داده است).

گزینه دوم اجرای مستقیم DBMS است که مبتنی بر نوعی مدل داده معنایی است.

نزدیکترین گزینه به گزینه دوم ، DBMS های مدرن شی گرا هستند که مدل های داده از بسیاری جهات با مدل های معنایی مشابه هستند (گرچه از بعضی جنبه ها آنها قدرتمندتر هستند ، و در بعضی دیگر ضعیف تر هستند). اگرچه در کل می توان گفت که این رویکرد هنوز فراتر از پروژه های تحقیقاتی و آزمایشی نبوده است.

در حال حاضر در بازار است نرم افزار بسته های کاملاً جهانی (که به هیچ DBMS خاصی وابسته نیستند) بسته های طراحی رایانه ای به کمک رایانه از پایگاه داده ها ظاهر شده است که امکان مدل سازی مفهومی منطقه را فراهم می آورد. تقریباً تمام سیستمهایی از این نوع مبتنی بر تفسیر یک یا دیگری از مدل ER هستند. چنین سیستم هایی اجرای دوم رویکردهای فوق هستند. یکی از محبوب ترین محصولات نرم افزاری در این زمینه ، پلاتین ERwin است.

مدل های داده

نحوه نقشه ریزی اشخاص ، خصوصیات و روابط بر روی ساختار داده ها توسط مدل داده مشخص می شود. 4 مدل داده اصلی وجود دارد - لیست ها ، بانکهای اطلاعاتی رابطه ای ، ساختار سلسله مراتبی و شبکه. بیایید آنها را با جزئیات بیشتری در نظر بگیریم.

ساده ترین نوع یک لیست است - ساختار داده ای در یک دنباله خطی.

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

شکل. 3. ساختار درخت سلسله مراتبی بانک اطلاعاتی

محدودیتهای اصلی اصلی یک مدل داده سلسله مراتبی به شرح زیر است:

- همه انواع اتصالات باید کاربردی باشند ، یعنی 1: 1 ، 1: M ، M: 1؛

- ساختار روابط باید مانند درخت باشد.

نتیجه این محدودیتها تعدادی از ویژگیهای فرآیند ساخت داده در یک مدل سلسله مراتبی است.

ساختار درخت ، یا چوب ، - این یک گراف بدون جهت متصل است که حاوی چرخه نیست. معمولاً هنگام کار با یک درخت ، یک راس خاص انتخاب می شود ، به این صورت تعریف می شود ریشه درخت است و مخصوصاً در نظر گرفته می شود - یک لبه به این قله نمی رسد. در این حالت ، درخت جهت گیری می شود. جهت گیری معمولاً از ریشه مشخص می شود.

درخت ریشه به عنوان یک نمودار جهت دار می تواند به شرح زیر تعریف شود:

- یک راس خاص خاص به نام ریشه وجود دارد که هیچ لبه ای وارد آن نمی شود.

- در تمام رأسهای دیگر ، فقط یک لبه وارد می شود ، و یک تعداد دلخواه از لبه ها ظهور می کند.

- بدون چرخه.

ساختار درخت سلسله مراتبی ، که از ریشه محور است ، شرایط زیر را برآورده می کند:

- سلسله مراتب همیشه از گره ریشه شروع می شود.

- در سطح اول سلسله مراتب ، فقط گره ریشه را می توان یافت.

- در سطوح پایین تر هستند تولید شده توسط گره (وابسته)

- هر گره تولید شده در سطح L واقع شده است , فقط با یک به طور مستقیم در ارتباط است منبع یک گره (مستقیماً گره والدین) که در سطح بالاتر (L - 1) سلسله مراتب درخت قرار دارد.

- هر گره منبع می تواند یک یا چند گره مستقیماً ایجاد شده داشته باشد ، به نام پسندیدن؛

- دسترسی به هر گره تخم ریزی شده از طریق گره منبع مستقیم آن انجام می شود.

- یک مسیر دسترسی سلسله مراتبی تک به گره وجود دارد که از ریشه درخت شروع می شود (شکل 4).

شکل. 4- مسیر دسترسی گره سلسله مراتبی

به عبارت دیگر ، یک مدل سلسله مراتبی از نمایش دانش (یا درخت) ساختار داده ای است که در آن هر گره فقط یک "والدین" دارد ، یعنی گره غالب (به جز گره بالادست) و تعداد نامحدودی از "فرزندان" ، یعنی گره هایی که این گره بر آنها حاکم است.

مدل های داده شبکه همچنین مبتنی بر استفاده از نمایش گرافیکی داده ها است. رئوسهای نمودار برای تفسیر انواع موجودات و قوسها - انواع روابط استفاده می شود. مدل شبکه بازنمایی دانش - ساختار داده ای که در آن هر شیء ، بر خلاف نمای سلسله مراتبی ، می تواند بیش از یک گره غالب داشته باشد (شکل 5).

شکل. 5 ساختار شبکه

در دهه 70 ، مطالعات تئوریک به طور جدی انجام می گرفت. مدل داده های رابطه ای. با ظهور رایانه های شخصی ، مدل های رابطه ای شروع به تسلط بر بازار سیستم های اطلاعاتی کردند. بازنمایی دانش رابطه ای- ارائه دانش در قالب روابط.

مطابق با مدل داده های رابطه ای ، داده ها به عنوان مجموعه جداول ارائه می شوند که بر اساس آن می توان عملیات فرموله شده را انجام داد جبر رابطه ای یا حساب رابطه ای.

طراحی منطقی

در روش طراحی پایگاه داده پیشنهادی ، کل فرایند توسعه به سه مرحله اصلی تقسیم می شود: طراحی مفهومی ، منطقی و فیزیکی. طراحی پایگاه داده منطقی - این فرایند ساخت یک مدل اطلاعات عمومی یک شرکت بر اساس مدلهای فردی از داده های کاربر است که مستقل از ویژگی های DBMS واقعی و سایر شرایط بدنی است.

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

1. از بین بردن روابط نوع م:ن.

2. از بین بردن روابط پیچیده.

3. از بین بردن روابط بازگشتی.

4- از بین بردن روابط با ویژگی ها.

5- از بین بردن چندین ویژگی.

6. بررسی روابط نوع 1: 1.

7. حذف لینک های اضافی.

1. حذف اوراق قرضه از نوع M: Nاگر مدل مفهومی شامل روابطی مانند م:ن ("بسیاری از افراد") ، آنها باید با تعریف موجودیت میانی از بین بروند. نوع رابطه م:ن جایگزین شده توسط دو اوراق قرضه نوع 1: مبا نهاد تازه ایجاد شده تأسیس شده است.

به عنوان نمونه موارد زیر را در نظر بگیرید م:ن ارتباطات: روزنامه تبلیغات اشیاء اجاره ای را چاپ می کند (شکل 6)

شکل. 6 م: ن ارتباط

به منظور از بین بردن این رابطه ، ما یک واسطه AD را تعریف می کنیم و دو رابطه جدید از نوع 1 ایجاد می کنیم: م. در نتیجه ، نوع رابطه م:ن توسط دو باند جایگزین خواهد شد (شکل 7)

شکل. 7. روابط نوع 1: م

2. از بین بردن روابط پیچیده.پیچیده ارتباطی است که بین سه یا چند نوع موجودیت وجود دارد. اگر یک رابطه پیچیده در مدل مفهومی وجود داشته باشد ، باید با یک موجود واسطه از بین برود. پیوند پیچیده با تعداد مورد نیاز پیوندهای باینری نوع 1 جایگزین می شود: مبا یک موجود تازه ایجاد شده تنظیم کنید. به عنوان مثال ، اتصال سه گانه "برای اجاره" (نمایان شده توسط لوزی) بیانگر رابطه ای است که بین کارمند شرکت در زمینه اجاره ، زمین و مستاجر وجود دارد (شکل 8).

شکل. 8. اتصال پیچیده

این ارتباط پیچیده را می توان با معرفی یک موجود جدید و تعیین اتصالات باینری بین آن و هر یک از موجودات اصلی اتصال پیچیده ساده کرد.

در مثال ما ، رابطه "برای اجاره" با معرفی یک موجود ضعیف جدید به نام توافق حذف می شود. موجودیت تازه ایجاد شده با سه رابطه باینری جدید با اشخاص اصلی در ارتباط خواهد بود (شکل 9).

شکل. 9. ارتباطات پیچیده را ساده کنید

3. از بین بردن روابط بازگشتی.بازگشتی آن دسته از روابطی هستند که موجودیت یک نوع خاص با خودش در تعامل است. اگر مدل مفهومی شامل روابط بازگشتی باشد ، باید با تعریف برخی موجودیت میانی از بین بروند. به عنوان مثال ، برای نمایش وضعیتی که یکی از کارمندان منجر به هدایت گروهی از کارمندان دیگر می شود ، می توان یک رابطه بازگشتی یک به چند برقرار کرد (1: م).

4- از بین بردن روابط با ویژگی ها.اگر مدل مفهومی شامل روابطی باشد که ویژگی های خاص خود را دارند ، باید با ایجاد یک موجودیت جدید دگرگون شوند. به عنوان مثال ، شرایطی را در نظر بگیرید که می خواهید تعداد ساعات کاری که توسط کارمندان موقت هر یک از ادارات شرکت انجام می شود را ضبط کنید. پیوند "Works in" دارای صفتی به نام "ساعت کار شده" است. ما رابطه "کارها را به" به یک موجودیت با نام "توزیع توسط بخش" تبدیل می کنیم ، که به آن ویژگی "ساعت کار شده" اختصاص می دهیم ، و سپس دو رابطه جدید از نوع 1 ایجاد می کنیم: م.

5- از بین بردن چندین ویژگی.چند صفت صفاتی هستند که می توانند چندین بار در همان زمان برای نمونه مشابه یک واحد داشته باشند. اگر یک ویژگی چندگانه در مدل مفهومی وجود داشته باشد ، باید با تعریف یک موجودیت جدید تغییر شکل دهد. به عنوان مثال ، برای نمایش وضعیتی که در همان شعبه شرکت چندین شماره تلفن وجود دارد ، یک ویژگی چندگانه در مدل مفهومی تعریف شده است " شماره تلفن"، با توجه به ذات" شعبه شرکت ". این ویژگی چندگانه باید با تعریف یک موجودیت جدید "تلفن" که دارای یک ویژگی ساده "شماره تلفن" است و ایجاد یک رابطه جدید نوع 1 حذف شود.

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

7. حذف لینک های اضافی.اگر همان اطلاعات را نه تنها از طریق آن ، بلکه از طریق یک ارتباط دیگر نیز بدست آورید ، اتصال اضافی نیست. همیشه باید سعی در ایجاد حداقل داده های داده شد و بنابراین ، اگر ارتباطات افزون بر آن ضرورت ندارد ، باید حذف شود. درک این که بیش از یک ارتباط بین دو نهاد وجود دارد بسیار ساده است. با این حال ، هنوز از این نتیجه نمی گیرد که یکی از دو روابط لزوماً از بین می رود ، زیرا هر دوی آنها می توانند نمایانگر انجمن های مختلفی باشند که در واقع در سازمان وجود دارند.

در از بین بردن افزونگی دسترسی ، زمان بندی مهم است. به عنوان مثال ، وضعیتی را در نظر بگیرید که لازم است الگوی روابط بین موجودات "مرد" ، "زن" و "کودک" الگوبرداری شود. بدیهی است که بین نهادهای "مرد" و "کودک" دو راه دسترسی وجود دارد: یکی از طریق ارتباط مستقیم او یک پدر است "و دیگری از طریق ارتباطات متاهل است "و" مادر است ". در نگاه اول ، به نظر می رسد که ارتباط است آیا پدر است. با این حال ، این بیانیه ممکن است به دو دلیل اشتباه باشد. اولا ، پدر می تواند از ازدواج قبلی فرزندان داشته باشد و ما فقط ازدواج فعلی یک پدر را الگوسازی می کنیم (از طریق یک رابطه 1: 1). ثانیا ، ممکن است پدر و مادر به هیچ وجه ازدواج نکنند ، یا ممکن است پدر با زنی ازدواج کند که مادر فرزند نیست (یا ممکن است مادر با مردی ازدواج کند که پدر فرزند نیست). بنابراین ، تمام روابط موجود بدون استفاده از رابطهای مانند "آیا پدر است" نمی توان الگوبرداری کرد (شکل 10).

شکل. 10. رابطه بین نهادهای "مرد" ، "زن" ، "کودک"


اطلاعات مشابه


زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت مطالب تازه مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم