مدل شی گرا استفاده از پایگاه های اطلاعاتی و سیستم های اطلاعاتی نیاز کمتری به اتصالات

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

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

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

ابتدا، به دنبال تمرین بسیاری از OODBها، پیشنهاد شده است که دو سطح از مدل‌سازی شی را متمایز کنیم: پایین (ساختاری) و بالایی (رفتاری). در سطح ساختاری، اشیاء پیچیده، شناسایی آنها و انواع رابطه "isa" پشتیبانی می شوند. پایگاه داده مجموعه ای از عناصر داده ای است که توسط یک رابطه "بخشی از یک کلاس" یا "یک ویژگی است" به هم مرتبط شده اند. بنابراین، پایگاه داده را می توان به عنوان یک گراف جهت دار در نظر گرفت. یک نکته مهماین است که، همراه با مفهوم یک شی، مفهوم ارزش را حفظ کنیم (بعداً خواهیم دید که در یکی از DBMS های O2 شی گرا موفق، چقدر بر این موضوع ساخته شده است).



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

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

فرض مهم Beery، اگرچه به خوبی پایه گذاری نشده است، این است که دو لایه سنتی - طرحواره و داده - برای OODB کافی نیستند. تعریف دقیق OODB نیاز به یک سطح فرا طرحواره دارد که محتوای آن باید انواع اشیاء و روابط مجاز در سطح طرحواره پایگاه داده را تعریف کند. متا طرحواره باید همان نقشی را برای OODB ایفا کند که بخش ساختاری مدل داده های رابطه ای برای طرحواره های پایگاه داده رابطه ای ایفا می کند.

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

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

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

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

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

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

متد یک کد برنامه است که به یک کلاس خاص متصل شده و برای اشیاء این کلاس قابل استفاده است. تعریف روش در O2 در دو مرحله انجام می شود. ابتدا، امضای متد اعلام می شود، یعنی. نام، کلاس، انواع یا کلاس‌های آرگومان و نوع یا کلاس نتیجه آن. متدها می توانند عمومی (قابل دسترسی از اشیاء کلاس های دیگر) یا خصوصی (فقط در کلاس داده شده قابل دسترسی هستند). در مرحله دوم، اجرای کلاس در یکی از زبان های برنامه نویسی O2 تعیین می شود (زبان ها با جزئیات بیشتر در بخش بعدی بررسی ما مورد بحث قرار می گیرند).

مدل O2 از وراثت چند طبقه بر اساس رابطه supertype/subtype پشتیبانی می کند. اضافه کردن و/یا تعریف مجدد ویژگی ها و متدها در یک زیر کلاس مجاز است. ابهامات احتمالی در وراثت چندگانه (با نامگذاری ویژگی ها و روش ها) یا با تغییر نام یا با مشخص کردن صریح منبع وراثت برطرف می شود. شیء زیر کلاس شیء هر سوپرکلاس است که زیر کلاس از آن مشتق شده است.

کلاس از پیش تعریف شده "Object" پشتیبانی می شود که ریشه شبکه کلاس است. هر کلاس دیگری از نوادگان ضمنی کلاس "Object" است و متدهای از پیش تعریف شده ("is_same"، "is_value_equal"، و غیره) را به ارث می برد.

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

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

پسا رابطه ایمدل

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

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

فاکتورها

N فاکتور

خریدار

N فاکتور

تعداد

در بالای سر

N فاکتور

خریدار

تعداد

برنج. 2.6. ساختار داده های مدل های رابطه ای و پس رابطه ای

از آنجایی که مدل پس رابطه ای اجازه ذخیره داده های غیر عادی در جداول را می دهد، مشکل اطمینان از یکپارچگی و سازگاری داده ها به وجود می آید. این مشکل با گنجاندن مکانیسم های مناسب در DBMS حل می شود.

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

عیبمدل پس رابطه ای پیچیدگی حل مشکل حصول اطمینان از یکپارچگی و سازگاری داده های ذخیره شده است.

مدل داده پس رابطه ای در نظر گرفته شده توسط DBMS جهانی پشتیبانی می شود. سایر DBMS های مبتنی بر مدل داده های پسا رابطه ای نیز شامل سیستم های Bubba و Dasdb هستند.

مدل چند بعدی

رویکرد چند بعدی به نمایش داده ها تقریباً همزمان با رویکرد رابطه ای ظاهر شد، اما علاقه به DBMS چند بعدی از اواسط دهه 1990 شروع به گسترش یافت. انگیزه در سال 1993 مقاله ای از E. Codd بود. 12 الزام اساسی برای سیستم های کلاس OLAP (پردازش تحلیلی آنلاین) فرموله کرد که مهمترین آنها به قابلیت های نمایش مفهومی و پردازش داده های چند بعدی مربوط می شود.

در توسعه مفاهیم سیستم های اطلاعاتیدو جهت قابل تشخیص است:

سیستم های پردازش عملیاتی (معامله ای)؛

سیستم های پردازش تحلیلی (سیستم های پشتیبانی تصمیم).

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

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

تجمع پذیریداده به معنای در نظر گرفتن اطلاعات در سطوح مختلف تعمیم آن است. در سیستم های اطلاعاتی، میزان جزئیات در ارائه اطلاعات برای کاربر به سطح آن بستگی دارد: تحلیلگر، کاربر، مدیر، مدیر.

تاریخی بودنداده ها شامل اطمینان از سطح بالایی از ماهیت ثابت خود داده ها و روابط آنها و همچنین اتصال اجباری داده ها به زمان است.

قابل پیش بینی بودنپردازش داده ها شامل تنظیم توابع پیش بینی و اعمال آنها در بازه های زمانی مختلف است.

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

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

مفاهیم اساسی مدل های داده چند بعدی: بعد و سلول.

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

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

برنج. 2.7. نمایش داده های رابطه ای و چند بعدی

در مثال در شکل. 2.7 b مقدار هر سلول حجم فروشبه طور منحصر به فرد با ترکیب بعد زمان تعیین می شود ماه فروشو مدل های ماشین در عمل، اغلب به اندازه گیری های بیشتری نیاز است. نمونه ای از مدل داده های سه بعدی در شکل نشان داده شده است. 2.8.

برنج. 2.8. نمونه مدل سه بعدی

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

که در چند مکعبیاین طرح فرض می کند که چندین هایپرمکعب با ابعاد مختلف و با ابعاد مختلف را می توان در پایگاه داده به عنوان چهره تعریف کرد. نمونه ای از سیستمی که از یک نوع چند مکعبی پایگاه داده پشتیبانی می کند، سرور Oracle Express است.

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

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

عیبمدل داده چند بعدی، دست و پا گیر بودن آن برای ساده ترین وظایف پردازش اطلاعات آنلاین مرسوم است.

نمونه‌هایی از سیستم‌هایی که از مدل‌های داده چند بعدی پشتیبانی می‌کنند عبارتند از Essbase، Media Multi-Matrix، Oracle Express Server، Cache. محصولات نرم افزاری مانند Media / MR وجود دارد که به شما امکان می دهد به طور همزمان با پایگاه های داده چند بعدی و رابطه ای کار کنید.

مدل شی گرا

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

یک مدل استاندارد شده شی گرا در توصیه های استاندارد ODMG-93 (گروه مدیریت پایگاه داده شی - یک گروه مدیریت پایگاه داده شی گرا) توضیح داده شده است.

یک مدل ساده شده از یک پایگاه داده شی گرا را در نظر بگیرید. ساختار یک پایگاه داده شی گرا به صورت گرافیکی به صورت درختی نمایش داده می شود که گره های آن اشیاء هستند. خصوصیات اشیاء توسط یک نوع استاندارد یا ساخته شده توسط کاربر (تعریف شده به عنوان یک کلاس) توصیف می شود. مقدار یک ویژگی از نوع کلاس، یک شی است که نمونه ای از کلاس مربوطه است. هر شیء نمونه کلاس، فرزند شیئی است که در آن به عنوان یک ویژگی تعریف شده است. یک شیء نمونه از یک کلاس به کلاس آن تعلق دارد و یک والد دارد. روابط عمومی در پایگاه داده یک سلسله مراتب متصل از اشیاء را تشکیل می دهند. نمونه ای از ساختار منطقی پایگاه داده کتابداری شی گرا در شکل 1 نشان داده شده است. 2.9. در اینجا یک شی از نوع کتابخانهوالد اشیاء نمونه کلاس است مشترک, کاتالوگو استرداد مجرم. اشیاء انواع مختلف کتاب هاو ممکن است والدین یکسان یا متفاوت داشته باشند. اشیاء از نوع کتاب، که دارای والد یکسان هستند، باید حداقل با یک شماره الحاق (برای هر نمونه کتاب منحصر به فرد) متفاوت باشند، اما دارای مقادیر ویژگی یکسانی باشند. isb n udk, نام ها e و نویسنده.

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

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

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

وراثتبرعکس، دامنه ملک را به همه اولاد شی تسری می دهد. بنابراین، برای تمام اشیاء از نوع کتاب، که از نوادگان یک شی از نوع هستند کاتالوگ، می توانید ویژگی های شی والد را اختصاص دهید: isbn, udk, نامو نویسنده. اگر لازم است مکانیسم وراثت را به اشیایی که خویشاوندان بلاواسطه نیستند (مثلاً بین دو فرزند از یک والد) گسترش دهیم، آنگاه یک ویژگی انتزاعی از نوع عضلات شکم. بنابراین، تعریف ویژگی های انتزاعی بلیطو عدددر شیء کتابخانهباعث می شود که این ویژگی ها توسط تمام اشیاء فرزند به ارث برده شود مشترک, کتابو مسائلآ. تصادفی نیست که بنابراین دارایی ارزش دارد بلیطکلاس ها مشترکو استرداد مجرمدر شکل نشان داده شده است. 2.9 یکسان است - 00015.

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

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

برنج. 2.9. ساختار منطقی پایگاه داده کتابداری

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

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

DBMS های شی گرا عبارتند از POET، Jasmine، Versant، O2، ODB-Jupiter، Iris، Orion، Postgres.

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

مدل شی گرا (شکل 3) به شما امکان می دهد اطلاعات را در قالب اشیا ایجاد، ذخیره و استفاده کنید. هر شی به محض ایجاد یک شناسه منحصربه‌فرد تولید شده توسط سیستم دریافت می‌کند که در سراسر وجودش با شی مرتبط است و با تغییر وضعیت شی تغییر نمی‌کند.

شکل 3. مدل داده های شی گرا

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

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

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

پایگاه داده های شی گرا بیشترین استفاده را در زمینه هایی مانند طراحی / ساخت به کمک رایانه (CAD / CAM)، سیستم های توسعه به کمک رایانه دارند. نرم افزار(CASE)، سیستم های مدیریت اسناد مرکب، یعنی. در مناطقی که برای پایگاه های داده سنتی نیستند. نمونه هایی از DBMS های شی گرا عبارتند از - POET، Jasmine، Versant، Iris، Orion.

2.2.4 مدل داده های رابطه ای

در سال 1970، ریاضیدان آمریکایی Codd E.F. مقاله ای انقلابی در محتوای خود منتشر کرد که استفاده از نظریه مجموعه ها را برای پردازش داده ها پیشنهاد می کرد. او استدلال کرد که داده ها باید بر اساس روابط منطقی آنها (مثلاً اتحاد، تقاطع) به جای نشانگرهای فیزیکی مرتبط شوند. او یک مدل داده ساده را پیشنهاد کرد که در آن همه داده ها در جداول متشکل از ردیف ها و ستون ها با نام های منحصر به فرد خلاصه می شوند. این جداول روابط (رابطه - رابطه) نامیده می شوند و مدل یک مدل داده رابطه ای است که بر اساس مفهوم روابط ریاضی ساخته شده است و گاهی اوقات مدل Codd نیز نامیده می شود. پیشنهادات کاد برای سیستم های پایگاه داده به قدری موثر بود که برای این مدل جایزه معتبر تورینگ در نظریه محاسبات را دریافت کرد.

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

شکل 4. جدول پایگاه داده رابطه ای

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

برنج. 5. جدول «کالاهای موجود در انبار »

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

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

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

کلید ثانویهفیلدی است که مقدار آن در چندین رکورد فایل قابل تکرار است، یعنی منحصر به فرد نیست.

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

شکل 6. نمونه ای از استفاده از کلید خارجی

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

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

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

اپراتورهای تعریف داده؛

اپراتورهای دستکاری داده ها (درج، انتخاب، به روز رسانی، حذف)؛

اپراتورهای تعریف دسترسی به داده.

در سال 1986 زبان SQLبه عنوان استاندارد ANSI (موسسه استاندارد ملی آمریکا) برای زبان های پایگاه داده رابطه ای پذیرفته شده است. امروز پایه داده شدهبه عنوان یک استاندارد برای سیستم های اطلاعاتی مدرن در نظر گرفته می شود.

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

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

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

هنگام طراحی یک پایگاه داده رابطه ای، قوانین سختگیرانه ای بر اساس دستگاه ریاضی اعمال می شود.

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

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

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

سرعت دسترسی نسبتا کم و مقدار زیادی حافظه خارجی.

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

همیشه حوزه موضوعی را نمی توان به صورت مجموعه ای از جداول نشان داد.

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

مفاهیم اساسی

تعریف 1

مدل شی گرانمایش داده ها شناسایی رکوردهای پایگاه داده فردی را ممکن می سازد.

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

تعریف 2

نمایش گرافیکیساختار یک پایگاه داده شی گرا درختی است که گره های آن نشان دهنده اشیا هستند.

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

در شکل 1، شی LIBRARY والد اشیاء نمونه کلاس های CATALOG، SUBSCRIBER و ISSUES است. اشیاء مختلف از نوع BOOK می توانند یک یا پدر و مادر متفاوت داشته باشند. اشیایی از نوع BOOK که دارای والد یکسان هستند، باید حداقل دارای شماره‌های الحاقی متفاوت (محصول برای هر نمونه از کتاب) اما دارای مقادیر یکسان باشند. نویسنده, نام, udkو isbn.

ساختارهای منطقی یک پایگاه داده شی گرا و سلسله مراتبی از نظر ظاهری مشابه هستند. آنها عمدتاً در روش های دستکاری داده ها متفاوت هستند.

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

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

تعریف 3

هدف کپسوله سازی- محدود کردن دامنه نام ویژگی به مرزهای شیئی که در آن تعریف شده است.

به عنوان مثال، اگر یک ویژگی به شی CATALOG اضافه شود که شماره تلفن نویسنده را مشخص می کند و نام دارد. تلفن، سپس خصوصیات همنام برای اشیاء CATALOG و SUBSCRIBER بدست می آید. معنای یک ویژگی با شیئی که در آن محصور شده است تعیین می شود.

تعریف 4

وراثت، معکوس کپسوله کردن، مسئول گسترش دامنه ویژگی به همه فرزندان شی است.

به عنوان مثال، به تمام اشیاء BOOK که فرزندان شیء CATALOG هستند، می‌توان ویژگی‌های شی والد را نسبت داد: نویسنده, نام, udkو isbn.

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

پس خواص عددو بلیطدر شی LIBRARY توسط همه اشیاء فرزند LENDING، BOOK و SUBSCRIBER به ارث می رسد. به همین دلیل است که مقادیر این ویژگی کلاس های SUBSCRIBER و ISSUANCE یکسان است - 00015 (شکل 1).

تعریف 5

پلی مورفیسمهمین اجازه را می دهد کد برنامهکار با انواع مختلف داده

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

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

مزایا و معایب مدل شی گرا

اصلی مزیت - فایده - سود - منفعتمدل داده شی گرا در مقابل مدل رابطه ای توانایی نمایش اطلاعات در مورد روابط پیچیده اشیاء است. مدل داده در نظر گرفته شده اجازه می دهد تا یک رکورد پایگاه داده جداگانه و عملکردهای پردازش آن تعریف شود.

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

تا به امروز، چنین سیستم هایی کاملاً گسترده هستند. اینها عبارتند از DBMS:

  • postgres،
  • شکارچی،
  • عنبیه،
  • ODBJupiter،
  • متنوع،
  • عینیت/DB،
  • فروشگاه اشیاء،
  • ایستا،
  • سنگ قیمتی
  • پایه گرم.

فن آوری های پایگاه داده مبتنی بر MD شرح داده شده در بالا بر اساس مفهوم ایستا ذخیره سازی اطلاعات، متمرکز بر مدل سازی داده ها است. با این حال، حوزه های جدید کاربرد فناوری با اشیاء پایگاه داده پیچیده و مرتبط، مانند:

طراحی به کمک رایانه;

تولید خودکار؛

توسعه خودکار نرم افزار؛

سیستم های اطلاعات اداری؛

سیستم های چند رسانه ای؛

سیستم های اطلاعات جغرافیایی؛

سیستم های انتشاراتی و سایرین محدودیت های مفهوم ایستا را از نظر مدل سازی اشیاء دنیای واقعی نشان داده اند.

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

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

ویژگی کلیدی یک شی منحصر به فرد بودن شناسایی آن است. بنابراین، هر شی در یک سیستم شی گرا باید شناسه مخصوص به خود را داشته باشد.

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

همه اشیا کپسوله می شوند، یعنی نمایش یا ساختار داخلی شی از دید کاربر پنهان می ماند. در عوض، کاربر فقط می‌داند که شی می‌تواند عملکردی را انجام دهد. به عنوان مثال برای یک شی WAREHOUSE می توان از روش هایی مانند ACCEPT_ITEM، ISSUE_TOBAP و غیره استفاده کرد.مزیت کپسوله سازی این است که به شما امکان می دهد نمایش داخلی اشیاء را بدون طراحی مجدد برنامه هایی که از این اشیاء استفاده می کنند تغییر دهید. به عبارت دیگر، کپسوله سازی به معنای استقلال داده است.

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

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

در برخی از سیستم های شی گرا، یک کلاس نیز یک شی است و دارای ویژگی ها و متدهای خاص خود است که نامیده می شوند ویژگی های کلاس و متدهای کلاس

مفاهیم مهم OOP هستند سلسله مراتب کلاس و سلسله مراتب ظرف.

سلسله مراتب طبقاتیدلالت بر این امکان دارد که هر کلاس، که در این مورد superclass نامیده می شود، زیر کلاس خود را دارد. زنجیره زیر را می توان به عنوان مثال ذکر کرد: همه برنامه نویسان یک شرکت کارمندان آن هستند، بنابراین، هر برنامه نویسی که در چارچوب OODM، شیء کلاس PROGRAMMER است، او نیز یک کارمند است که به نوبه خود یک کارمند است. ، یک شی از کلاس EMPLOYEES است. بنابراین، برنامه نویسان یک زیر کلاس و STAFF یک سوپرکلاس خواهند بود. اما برنامه نویسان را می توان به برنامه نویسان سیستمی و کاربردی نیز تقسیم کرد. بنابراین، PROGRAMMERS یک ابرکلاس برای زیر کلاس‌های SIS_PROGRAMMERS و APPLIC_PROGRAMMERS خواهد بود. با ادامه این زنجیره، یک سلسله مراتب کلاس دریافت می کنیم که در آن هر شیء زیر کلاس نمونه هایی از متغیرها و متدهای سوپرکلاس مربوطه را به ارث می برد.

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

وراثت نمونه متغیر نامیده می شود وراثت ساختاری، وراثت روش - وراثت رفتاریو قابلیت استفاده از یک متد برای کلاس های مختلف یا بهتر بگوییم استفاده از متدهای مختلف با نام یکسان برای کلاس های مختلف نامیده می شود. پلی مورفیسم.

معماری شی گرا نیز نوع دیگری از سلسله مراتب دارد - سلسله مراتب کانتینر. این شامل این واقعیت است که برخی از اشیاء می توانند به صورت مفهومی در برخی دیگر گنجانده شوند. بنابراین، یک شی از کلاس DEPARTMENT باید حاوی یک متغیر عمومی HEAD باشد، که مرجعی است به شی کلاس EMPLOYEE مربوط به رئیس بخش، و همچنین باید حاوی ارجاع به مجموعه ای از ارجاعات به اشیاء مربوط به کارمندانی باشد که در آن کار می کنند. این بخش

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

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

تمام روابط در مدل شی با استفاده از ویژگی های مرجع ساخته می شوند که معمولاً به عنوان OID پیاده سازی می شوند.

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

در OOMD نه تنها پیوندهای سنتی، بلکه پیوندهای ناشی از وراثت نیز قابل پیاده سازی هستند.

رابطه یک به یک (1:1)بین اشیاء A و B با افزودن یک ویژگی مرجع روی شی B به شی A و (برای حفظ یکپارچگی ارجاعی) یک ویژگی مرجع روی شی A به شی B پیاده سازی می شود.

رابطه یک به چند (1:M)بین اشیاء A و B با افزودن یک ویژگی مرجع به شی B به شی A و یک ویژگی حاوی مجموعه ای از پیوندهای شی A به شی B (به عنوان مثال، یک ویژگی مرجع B (OID2, OID3 ...) اضافه می شود. به شی A، و نمونه هایی از شی B با OID2، OID3، ... ویژگی مرجع A اضافه می شود: OID1.

رابطه چند به چند (M:N)بین اشیاء A و B با افزودن یک ویژگی شامل مجموعه ای از پیوندها به هر شی پیاده سازی می شود.

در OODM، می‌توانید از رابطه «تمام بخش» استفاده کنید، که توضیح می‌دهد که یک شی از یک کلاس شامل اشیاء کلاس‌های دیگر به‌عنوان بخش‌های آن است. در مورد یک پایگاه داده تولید، یک رابطه "کلی" بین کلاس PRODUCT و کلاس های PART و ASSEMBLY وجود خواهد داشت. این ارتباطگونه ای از رابطه چند به چند با معناشناسی خاص است. یک رابطه تمام بخش مانند هر رابطه چند به چند دیگر با مجموعه ای از شناسه های شی مرتبط پیاده سازی می شود. با این حال، بر خلاف رابطه معمول چند به چند، معنای معنایی متفاوتی دارد.

از آنجایی که پارادایم شی گرا از وراثت پشتیبانی می کند، می توان از یک رابطه "is" و یک رابطه "extends" در OODM استفاده کرد. رابطه "است" که به عنوان رابطه تعمیم-تخصصی نیز شناخته می شود، یک سلسله مراتب وراثت ایجاد می کند که در آن زیر کلاس ها موارد خاصی از سوپرکلاس ها هستند. این اجازه می دهد تا ویژگی های دوباره به ارث برده شده را توصیف نکنید. هنگام استفاده از رابطه "extends"، زیر کلاس به جای اینکه به حالت خاص آن محدود شود، عملکرد سوپرکلاس را گسترش می دهد.

بیایید در نظر بگیریم که چگونه مولفه هایی مانند محدودیت های یکپارچگی و عملیات روی داده ها در OOMD پیاده سازی می شوند.

ویژگی های این اجزا با توجه به ویژگی های مدل تعیین می شود. این ویژگی در OOMD اساساً توسط مفاهیم داخلی مانند کپسوله‌سازی شی، یعنی پنهان‌کاری دیکته می‌شود. ساختار داخلی، دسترسی به داده ها فقط از طریق روش های از پیش تعریف شده، سلسله مراتب کلاس و سلسله مراتب ظرف.

ویژگی های OOMD نیز توسط ویژگی های شی دیکته می شود. این خود را در نیاز به گروه بندی اشیاء در کلاس ها نشان می دهد. هر شی بسته به وظیفه در یک کلاس یا کلاس دیگر گنجانده می شود و یک شی می تواند به چندین کلاس در آن واحد تعلق داشته باشد (مثلاً خانواده های PROGRAMERS و HIGHLY PAYING). یکی دیگر از ویژگی های خاص یک شی این است که می تواند از یک کلاس (زیر کلاس) به کلاس دیگر "اجرا شود". بنابراین، یک SYSTEM PROGRAMMER در نهایت می تواند به یک برنامه نویس کاربردی تبدیل شود. بنابراین، سلسله مراتب کلاس مشابه مدل سلسله مراتبی نیست، همانطور که ممکن است قبلاً به نظر برسد، اما نیاز دارد که سیستم بتواند مکان هر شی را در سلسله مراتب کلاس تغییر دهد، به عنوان مثال، حرکت "بالا" یا "پایین" در داخل. این سلسله مراتب اما یک فرآیند پیچیده‌تر نیز امکان‌پذیر است - سیستم باید توانایی یک شی را برای اتصال (جدا کردن) به بالای دلخواه سلسله مراتب در هر زمان فراهم کند.

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

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

ODMG (گروه مدیریت پایگاه داده اشیاء) به مشکلات استانداردسازی فناوری پایگاه داده های شی می پردازد. این یک مدل شی توسعه داده است (ODMG 2.0 در سپتامبر 1997 تصویب شد) که یک مدل استاندارد برای معنایی اشیاء پایگاه داده تعریف می کند. این مدل از این جهت مهم است که معناشناسی داخلی را تعریف می کند که یک DBMS شی گرا (OODBMS) آن را درک می کند و می تواند پیاده سازی کند. ساختار کتابخانه‌ها و برنامه‌هایی که از این معناشناسی استفاده می‌کنند باید در بین OODBMS‌های مختلف که از مدل داده‌های شی مورد نظر پشتیبانی می‌کنند قابل حمل باشد. اجزای اصلی معماری ODMG عبارتند از: مدل شی (OM)، زبان تعریف شی (ODL)، زبان پرس و جو شی (OQL)، و توانایی پیوند به C++، جاوا و اسمال تاک.

مدل شیداده های مطابق با استاندارد ODMG 2.0 با ویژگی های زیر مشخص می شوند:

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

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

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

رفتار یک شی با مجموعه ای از عملیات تعریف می شود که می تواند روی شی یا روی خود شی انجام شود. عملیات می تواند فهرستی از پارامترهای ورودی و خروجی داشته باشد که هر کدام دارای یک نوع کاملاً تعریف شده است. هر عملیات همچنین می تواند یک نتیجه تایپ شده را برگرداند.

تعریف پایگاه داده در یک طرحواره نوشته شده در زبان تعریف شی (ODL) ذخیره می شود. پایگاه داده اشیاء را ذخیره می کند و به آنها اجازه می دهد بین کاربران و برنامه های مختلف به اشتراک گذاشته شوند.

DBMS مبتنی بر OODM DBMS شی گرا (OODBMS) نامیده می شود. به این DBMS ها DBMS نسل سوم می گویند* (* تاریخچه توسعه مدل های ذخیره سازی داده ها اغلب به سه مرحله (نسل) تقسیم می شود: نسل اول (اواخر دهه 1960 - اوایل دهه 70) - مدل های سلسله مراتبی و شبکه؛ نسل دوم (تقریباً 1970-1980) - مدل رابطه ای؛ سوم نسل (دهه 1980 - اوایل دهه 2000) - مدل های شی گرا.).

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

یک برنامه کاربردی از تعداد زیادی بخش متقابل تشکیل شده است. هر یک از آنها رفتار خاص خود را دارد که بستگی به رفتار دیگران دارد;

سیستم باید مقادیر زیادی از ساختار داده های بدون ساختار یا پیچیده را پردازش کند.

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

نیاز به درخواست های برنامه ریزی نشده محدود است.

ساختار داده های ذخیره شده سلسله مراتبی یا ماهیت مشابهی دارد.

در حال حاضر، بسیاری از DBMS های شی گرا در بازار نرم افزار وجود دارد. روی میز. 10.6 برخی از سیستم های تجاری این کلاس را نشان می دهد.

جدول 10.6

OODBMS تجاری مدرن،

شرکت های تولیدی و حوزه های کاربرد آنها

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

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

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

در حین ایجاد برنامه های کاربردی مختلفبر اساس OODBMS، ساختار کلاس داخلی یک DBMS خاص مهم است. کتابخانه کلاس، به عنوان یک قاعده، نه تنها از همه انواع داده های استاندارد، بلکه مجموعه گسترده ای از چند رسانه ای و دیگر انواع داده های پیچیده مانند ویدئو، صدا، توالی فریم های انیمیشن پشتیبانی می کند. در برخی از OODBMS، کتابخانه های کلاس ایجاد شده است که ذخیره و جستجوی متن کامل اطلاعات مستند را امکان پذیر می کند (به عنوان مثال، Jasmine، ODB-Jupiter). نمونه ای از ساختار کلاس پایه در شکل نشان داده شده است. 10.17.

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

همانطور که در شکل دیده میشود. 10.17، در ساختار کلاس های مختلفی وجود دارد که بر پردازش اطلاعات مستند متمرکز شده اند - TOdbText، TOdbDocument، TODBTextDocument، و غیره. هر سند با یک شی جداگانه نشان داده می شود. بنابراین، طبیعی بودن ذخیره اسناد تضمین می شود. یکی از مهمترین عملیات جستجوی اسناد در صورت تقاضا است. برای اکثر کلاس ها، امکان جستجوی اشیا با مقدار یک کلید خاص اجرا می شود. برای کلاس TOdbText، توانایی تشکیل پرس و جو جستجوبا عبارتی که به زبان طبیعی نوشته شده است.

کلاس TOdbDocument ویژه است و می تواند شامل اشیاء از انواع مختلف باشد. از فیلدهایی تشکیل شده است که هر کدام یک نام دارند و با یک شی از نوع خاصی مرتبط هستند. وجود این کلاس به کاربر این امکان را می دهد که مجموعه انواع را گسترش دهد. با تغییر شی Container (سند)، می توانید مجموعه خاصی از فیلدها را تنظیم کنید و نوع جدیدی از Document را دریافت کنید.

بر اساس ODB-Jupiter، توسعه دهندگان OODBMS یک سیستم بازیابی اطلاعات کامل ODB-Text ایجاد کرده اند که دارای ساختار جهانی داده های ذخیره شده و مکانیزم جستجوی قدرتمند است. سیستم ODB-Text ابزاری برای پردازش جمعی اسناد و نگهداری آرشیو شرکتی است. از جمله کاربردهای احتمالی می‌توان به اتوماسیون حسابداری برای جریان اسناد یک دفتر مدرن، ساخت سیستم‌های مرجع و اطلاعاتی (شبیه به پایگاه‌های معتبر حقوقی)، نگهداری پایگاه‌های اطلاعاتی شبکه، سوابق پرسنل، کتاب‌شناسی، و غیره.

41. ویژگی های طراحی IS کاربردی. مراحل توسعه IS (مبحث 11، صص 100-103).

11.1.3. ویژگی های طراحی سیستم آی سی کاربردی

هنگام ساخت (انتخاب، تطبیق) یک سیستم اطلاعاتی، می توانید از دو مفهوم اصلی، دو رویکرد اصلی استفاده کنید (مفهوم سوم ترکیب آنها است):

1. جهت گیری به مشکلاتی که باید با کمک این سیستم اطلاعاتی حل شوند، i.e. رویکرد مسئله محور (یا رویکرد استقرایی)؛

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

انتخاب مفهوم به معیارها، مشکلات، منابع استراتژیک (تاکتیکی) و (یا) بلند مدت (کوتاه مدت) بستگی دارد.

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

اگر ابتدا مشکلات واقعی شناسایی شوند و سپس فناوری کافی برای حل این مشکلات معرفی شود، باید بر رویکرد مبتنی بر مشکل تکیه کرد.

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

طراحی (توسعه) سیستم و استفاده از هر سیستم اطلاعاتی کاربردی (شرکتی) باید چرخه عمر سیستم اطلاعاتی زیر را طی کند:

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

- تجزیه و تحلیل درون سیستمی، تجزیه و تحلیل داخلی (تجزیه و تحلیل زیر سیستم های سیستم).

- توصیف سیستم (مورفولوژیکی) (نمایش) سیستم (توضیح هدف سیستم، روابط سیستم و ارتباطات با محیط، سیستم های دیگر و منابع سیستم- مادی، انرژی، اطلاعاتی، سازمانی، انسانی، مکانی و زمانی)؛

- تعیین معیارهای کفایت، کارایی و پایداری (قابلیت اطمینان).

- توصیف عملکردی زیرسیستم های سیستم (توضیح مدل ها، الگوریتم های عملکرد زیر سیستم ها)؛

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

- "مونتاژ" و آزمایش سیستم - اجرای زیرسیستم ها و معیارهای عملکردی کامل، ارزیابی مدل با توجه به معیارهای فرموله شده.

- عملیات سیستم؛

- تعیین اهداف برای توسعه بیشتر سیستم و کاربردهای آن؛

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

این مراحل، مراحل اصلی مهندسی مجدد سیستم های اطلاعاتی هستند.

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

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

پیوندهای عملکردی - هر بخش انواع خاصی از کار را در یک فرآیند تجاری واحد انجام می دهد.

لینک های اطلاعاتی- بخش تبادل اطلاعات (اسناد، فکس، دستورات کتبی و شفاهی و غیره)؛

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

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

به طور کلی فرآیند توسعه یک سیستم اطلاعاتی از دو دیدگاه قابل بررسی است:

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

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

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

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

ویژگی های اصلی متمایز پروژه به عنوان یک شی مدیریت زیر قابل تشخیص است:

تغییرپذیری - انتقال هدفمند سیستم از موجود به برخی

وضعیت مطلوب، که از نظر اهداف پروژه توصیف شده است.

محدودیت هدف نهایی؛

مدت زمان محدود؛

بودجه محدود؛

منابع محدود مورد نیاز؛

تازگی برای شرکتی که پروژه برای آن اجرا می شود؛

پیچیدگی - وجود تعداد زیادی از عوامل که به طور مستقیم یا غیر مستقیم بر پیشرفت و نتایج پروژه تأثیر می گذارد.

حمایت حقوقی و سازمانی - ایجاد یک ساختار سازمانی مشخص برای مدت پروژه.

کارایی کار با مدیریت فرآیند اجرای پروژه حاصل می شود که تخصیص منابع، هماهنگی توالی کار در حال انجام و جبران اختلالات داخلی و خارجی را تضمین می کند.

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

ویژگی کنترل پذیری به ویژه در شرایط عدم قطعیت و تغییرپذیری حوزه موضوعی مرتبط است که اغلب پروژه های توسعه سیستم های اطلاعاتی را همراهی می کند.

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

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

مراحل زیر در توسعه سیستم اطلاعاتی قابل تشخیص است:

شکل گیری مفهوم؛

توسعه مشخصات فنی؛

طرح؛

تولید؛

راه اندازی سیستم.

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

فاز مفهومی

شکل گیری ایده ها، تعیین اهداف؛

تشکیل تیم کلیدی پروژه؛

مطالعه انگیزه و نیازهای مشتری و سایر شرکت کنندگان؛

جمع آوری داده های اولیه و تجزیه و تحلیل وضعیت موجود؛

تعریف الزامات و محدودیت های اساسی، منابع مادی، مالی و نیروی کار مورد نیاز.

ارزیابی مقایسه ای گزینه ها.

ارائه پیشنهادات، بررسی و تصویب آنها.

توسعه یک پیشنهاد فنی

توسعه محتوای اصلی پروژه، ساختار اساسی پروژه؛

توسعه و تصویب شرایط مرجع؛

برنامه ریزی، تجزیه مدل اساسی ساختاری پروژه.

تهیه برآورد و بودجه برای پروژه، تعیین نیاز به منابع.

توسعه برنامه های تقویم و برنامه های کاری بزرگ؛

عقد قرارداد با مشتری؛

بهره برداری از وسایل ارتباطی شرکت کنندگان پروژه و کنترل بر پیشرفت کار.

طرح

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

اجرای کار طراحی پایه؛

توسعه مشخصات فنی خصوصی؛

اجرای طرح مفهومی؛

تهیه مشخصات فنی و دستورالعمل ها؛

ارائه طرح توسعه، بررسی و تایید.

توسعه

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

انجام کار در زمینه توسعه نرم افزار؛

انجام مقدمات پیاده سازی سیستم؛

کنترل و تنظیم شاخص های اصلی پروژه.

راه اندازی سیستم

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

تست های پیچیده؛

42. مفهوم چرخه حیات IP. (مبحث 11، ص 103-105).