نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • اخبار
  • مدل های ارائه داده ها: یک مدل شی گرا. مدل داده های شی گرا

مدل های ارائه داده ها: یک مدل شی گرا. مدل داده های شی گرا

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

استاندارد OOMدر توصیه های استاندارد ODMG-93 (گروه مدیریت پایگاه داده اشیاء) شرح داده شده است. توصیه های ODMG-93 هنوز به طور کامل اجرا نشده اند. برای مثال ایده های کلیدیبیایید یک مدل ساده شده از یک پایگاه داده شی گرا را در نظر بگیریم.

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

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

نمونه ای از ساختار منطقی OO DB کتابداری در شکل 1 نشان داده شده است. 3.14. در اینجا، یک شی از نوع LIBRARY، برای مثال اشیاء والد کلاسهای SUBSCRIBER، DIRECTORY و OUTPUT است. اشیاء مختلف از نوع BOOK که دارای والدین یکسانی هستند باید حداقل در شماره دسترسی (محصول برای هر نسخه از کتاب) متفاوت باشند، اما دارای همان مقادیرخواص isbn، udk، نامو نویسنده.


شکل 3.14.ساختار منطقی پایگاه داده کتابخانه

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

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

بیایید به طور خلاصه مفاهیم encapsulation، inheritance و polymorphism را در رابطه با پایگاه های داده OOM در نظر بگیریم.

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

وراثت،در مقابل، دامنه مال را به همه اولاد شی تسری می دهد. بنابراین، تمام اشیاء از نوع BOOK که از فرزندان یک شی از نوع DIRECTORY هستند، می‌توانند ویژگی‌های شی والد را نسبت دهند: isbn، udk، نامو نویسنده.اگر لازم باشد اثر مکانیسم وراثت را به اشیایی که خویشاوندان بلاواسطه نیستند (مثلاً بین دو فرزند از یک پدر و مادر) گسترش دهیم، در این صورت یک ویژگی انتزاعی از نوع abs در جد مشترک آنها تعریف می شود. بنابراین، تعریف ویژگی های انتزاعی بلیطو اتاقدر یک شی LIBRARY باعث می شود که این ویژگی ها توسط همه اشیاء SUBSCRIBER، BOOK، و REFERENCE به ارث بروند. تصادفی نیست که ارزش اموال بلیطاز کلاس های SUBSCRIBER و ISSUE نشان داده شده در شکل یکسان خواهد بود - 00015.

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

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

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

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



شکل 3.15.قطعه ای از پایگاه داده با شی مورد نظر

بیایید دوباره به وظیفه Orders بپردازیم که به شکل یک مدل داده رابطه ای در شکل 1 ارائه شده است. 3.8 و آن را از نظر یک پایگاه داده شی گرا در نظر بگیرید. در کل سه کلاس وجود دارد: " مشتریان», « سفارشات"و" کالاها". اشیاء کلاس " مشتریان» آیا مشتریان خاص هستند. ویژگی های کلاس - شماره مشتری، شهر نام مشتری، وضعیت و غیره. روش های کلاس - " ایجاد نظم», « پرداخت فاکتور" و غیره. متد نوعی عملیات است که می تواند روی یک شی اعمال شود. یک روش کاری است که یک شی باید انجام دهد. کلاس مربوط به جدول " جزئیات سفارش"، لازم نیست. داده های جدول می تواند بخشی از کلاس باشد " سفارشات". حضور در کلاس " مشتریان"روش" ایجاد نظم"به تعامل با اشیاء کلاس ها منجر می شود" سفارشات"و" کالاها". در این حالت، کاربر نیازی به اطلاع از این تعامل اشیاء ندارد. کاربر فقط به شی اشاره می کند " سفارشات"و از روش استفاده می کند" ایجاد نظم". تأثیر روی سایر پایگاه های داده می تواند از کاربر پنهان شود. اگر روش " ایجاد نظم"، به نوبه خود، به روش اشاره دارد" اعتبار مشتری را بررسی کنید"، این واقعیت را نیز می توان از کاربر پنهان کرد. در پایگاه داده های رابطه ای، برای انجام همان عملکردها، باید رویه ها را در زبان بنویسید ویژوال بیسیکبرای برنامه (VBA).

در دهه 90، نمونه های آزمایشی سیستم های مدیریت پایگاه داده OO وجود داشت. در حال حاضر، چنین سیستم هایی گسترده هستند. به طور خاص، اینها شامل DBMS های زیر است: POET (نرم افزار POET)، Jasmine (همکاران کامپیوتر)، Versant (تکنولوژی های Versant)، O2 (نرم افزار Ardent)، ODB-Jupiter (مرکز تحقیقات و تولید Inteltek Plus)، و Iris، Orion و Postgres.

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

طراحی به کمک کامپیوتر;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

سلسله مراتب طبقاتیدلالت بر این امکان دارد که هر کلاس، که در این مورد superclass نامیده می شود، زیر کلاس خود را دارد. به عنوان مثال، می توانیم زنجیره زیر را ارائه دهیم: همه برنامه نویسان یک شرکت کارکنان آن هستند، بنابراین، هر برنامه نویسی که در کلاس PROGRAMMERS در OOMD قرار دارد، کارمندی است که به نوبه خود یکی از اهداف EMPLOYEES است. کلاس بنابراین، برنامه نویسان یک زیر کلاس، و EMPLOYEES یک سوپرکلاس خواهند بود. اما برنامه نویسان را می توان به سیستم و برنامه نیز تقسیم کرد. بنابراین، PROGRAMMERS ابرکلاس زیر کلاس‌های SIS_PROGRAMMERS و APPLICATION_PROGRAMMERS خواهد بود. با ادامه این زنجیره، یک سلسله مراتب کلاس دریافت می کنیم که در آن هر شی از زیر کلاس، نمونه هایی از متغیرها و متدهای سوپرکلاس مربوطه را به ارث می برد.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

V در حال حاضربسیاری از 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، قابلیت form را پیاده سازی کرد پرس و جو جستجوبا عبارتی که به زبان طبیعی نوشته شده است.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- عملکرد سیستم؛

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

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

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

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

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

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

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

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

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

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

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

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

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

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

اصلی زیر امکاناتپروژه به عنوان هدف مدیریت:

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

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

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

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

بودجه محدود؛

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

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

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

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

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

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

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

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

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

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

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

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

طرح؛

ساخت؛

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

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

فاز مفهومی

شکل گیری ایده، هدف گذاری؛

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

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

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

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

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

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

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

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

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

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

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

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

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

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

طرح

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

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

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

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

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

ارائه طرح، کارشناسی و تایید.

توسعه از

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

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

آماده سازی برای پیاده سازی سیستم؛

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

پایگاه داده شی گرا(OODB) پایگاه داده ای است که در آن داده ها به شکل اشیا، ویژگی ها، روش ها و کلاس های آنها مدل سازی می شوند.

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

مانیفست OODB ویژگی های مورد نیازی را پیشنهاد می کند که هر OODB باید رعایت کند. انتخاب آنها بر اساس 2 معیار است: سیستم باید شی گرا و پایگاه داده باشد.

ویژگی های اجباری

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

2. حمایت از فردیت اشیاء. همه اشیا باید یک شناسه منحصر به فرد داشته باشند که به مقادیر ویژگی های آنها بستگی ندارد.

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

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

5. پشتیبانی از ارث بردن انواع و طبقات از اجدادشان. یک Subtype یا Subclass به ترتیب باید ویژگی ها و متدهایی را از supertype یا superclass خود به ارث ببرد.

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

7. کامل بودن محاسبات. زبان دستکاری داده ها باید یک زبان برنامه نویسی همه منظوره باشد.



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

OO DBMS

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

استفاده از سیستم های مدیریت پایگاه داده شی گرا (OODBMS) در پروژه های واقعیامروز؟ در چه مواردی باید از آنها استفاده کرد و در چه مواردی نه؟

اینجا فوایدبا استفاده از OODBMS:

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

· نیازی به پشتیبانی جداگانه مدل داده در سمت DBMS نیست.

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

استاندارد ODMG

اولین مانیفستبه طور رسمی فقط یک مقاله ارسال شده بود کنفرانس پایگاه های داده شی گرا و قیاسیتوسط گروهی از افراد همانطور که در بخش فرعی قبلی مشاهده می کنید، الزامات مانیفست به جای اینکه به طور صریح مشخص شود، احساسی بودند. در سال 1991، کنسرسیوم ODMG تشکیل شد (سپس این مخفف به عنوان فاش شد گروه مدیریت پایگاه داده شی، اما بعداً تفسیر گسترده تری به دست آورد - گروه مدیریت داده های شی). کنسرسیوم ODMG ارتباط نزدیکی با کنسرسیوم بسیار بزرگتر OMG دارد. گروه مدیریت شی) که دو سال قبل تشکیل شد. هدف اصلی ODMG توسعه استاندارد صنعتی برای پایگاه های داده شی گرا ( مدل کلی). مدل اصلی شی OMG COM ( مدل اصلی شی). ODMG در بیش از ده سال فعالیت خود، سه مورد را منتشر کرده است نسخه های اولیهاستاندارد که آخرین آن ODMG 3.0 نام دارد. 16



خنده دار است که اگرچه ODMG (به گفته نویسنده) OMG را ترک کرد، در سال های گذشتهبرخی از استانداردهای OMG بر اساس مدل شیء ODMG هستند. به طور خاص، مشخصات زبان OCL ( زبان محدودیت شی) که بخشی از مشخصات زبان عمومی UML 1.4 (و UML 2.0) است. در این مقاله، ما قصد نداریم مقایسه دقیقی از رویکردهای OMG و ODMG انجام دهیم و خوانندگان علاقه مند را به دایره المعارف های کوگالوفسکیو مطالب از وب سایت های این کنسرسیوم ها. خودمان را محدود خواهیم کرد خلاصهایده های اصلی موجود در استاندارد ODMG-3.

معماری ODMG

معماری ODMG پیشنهادی در شکل نشان داده شده است. 2.1. این معماری راهی برای ذخیره داده ها و انواع مختلف دسترسی کاربر به این «ذخیره داده» تعریف می کند. یک ذخیره داده واحد از یک زبان تعریف داده، یک زبان پرس و جو و تعدادی از زبان های دستکاری داده قابل دسترسی است. 18 در شکل. 2.1 ODL یعنی زبان تعریف شی، OQL - زبان پرس و جو شیو OML - زبان دستکاری شی.

برنج. 2.1. معماری ODMG

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

اجزای اصلی معماری به شرح زیر است.

  • مدل داده های شیتمام داده های ذخیره شده توسط یک OODBMS بر اساس ساختارهای مدل داده ساختار یافته است. مدل داده معنای دقیق همه مفاهیم را تعریف می کند (برای جزئیات بیشتر به زیر مراجعه کنید).
  • زبان تعریف داده (ODL).طرحواره های پایگاه داده بر اساس زبان ODL توصیف می شوند، که در آن ساختارهای مدل داده در قالب یک زبان تعریف نمونه سازی می شوند. ODL به شما این امکان را می دهد که یک طرحواره را به عنوان مجموعه ای از واسط های نوع شی توصیف کنید که شامل شرح خصوصیات نوع و روابط بین آنها و همچنین نام عملیات و پارامترهای آنها است. ODL یک زبان برنامه نویسی کامل نیست. انواع باید در یکی از زبان های دسته OML پیاده سازی شوند. همچنین، ODL است مجازیزبان به این معنا که استاندارد ODMG نیازی به پیاده سازی آن در آن ندارد محصولات نرم افزاری OODBMS که مطابق با استاندارد در نظر گرفته می شوند. این محصولات مجاز به پشتیبانی از زبان های تعریف معادل هستند که شامل تمام قابلیت های ODL هستند، اما با ویژگی های یک سیستم خاص سازگار شده اند. با این حال، وجود مشخصات ODL در استاندارد ODMG مهم است زیرا زبان ویژگی های مدل داده را مشخص می کند.
  • زبان پرس و جو شی (ODL).زبان دارای نحوی شبیه به نحو است زبان SQLاما بر معناشناسی مدل شیء ODMG متکی است. این استاندارد امکان استفاده مستقیم از OQL و تعبیه آن را در یکی از زبان های دسته OML می دهد.

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

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

V رابطه ایتمام داده های پردازش شده در DBMS در قالب جداول مسطح ارائه شده است. اطلاعات در مورد اشیاء از یک نوع خاص در ارائه شده است فرم جدولی: ویژگی‌های مختلف اشیا در ستون‌های جدول متمرکز شده‌اند و از ردیف‌ها برای کاهش توضیحات همه ویژگی‌ها به نمونه‌های تکی اشیاء استفاده می‌شود.

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

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

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

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

نمونه رابطه- مجموعه ای از مقادیر ویژگی های یک شی خاص.

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

صفت ساده- صفتی که مقادیر آن تقسیم ناپذیر است.

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

مفاهیم موجودیت..

دامنه

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

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

بار معنایی مفهوم دامنه نیز باید مورد توجه قرار گیرد: داده ها تنها در صورتی قابل مقایسه در نظر گرفته می شوند که متعلق به یک دامنه باشند. در مثال ما، مقادیر دامنه های "Gap Numbers" و "Group Numbers" از نوع عدد صحیح هستند، اما قابل مقایسه نیستند. توجه داشته باشید که اکثر DBMS های رابطه ای از مفهوم دامنه استفاده نمی کنند، اگرچه Oracle V.7 قبلاً از آن پشتیبانی می کند.

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

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

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

سربار-کالا

N فاکتور

مشتری

N فاکتور

تعداد

در بالای سر

N فاکتور

مشتری

تعداد

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

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

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

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

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

مدل چند بعدی

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نمونه‌هایی از سیستم‌هایی که از مدل‌های داده چند بعدی پشتیبانی می‌کنند عبارتند از 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، O 2، ODB - Jupiter، Iris، Orion، Postgres.

مقالات مرتبط برتر