• مدل های داده شی گرا مدل شی گرا

    مفاهیم اساسی

    تعریف 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،
    • فروشگاه اشیا،
    • ایستا،
    • سنگ قیمتی
    • پایه g

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

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

    روی انجیر 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.

    مدل شی گرا

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

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

    ساختار یک پایگاه داده شی گرا (به عنوان مثال، Versant Object Database، Object Store و غیره) به صورت گرافیکی به صورت درختی نمایش داده می شود که گره های آن اشیا هستند. خصوصیات شیء توسط یک نوع استاندارد (مثلاً رشته - رشته) یا یک نوع ساخته شده توسط کاربر (که به عنوان یک کلاس تعریف می شود) توصیف می شوند.

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

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

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

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

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

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

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

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

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

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

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

    انواع داده ها

    در ابتدا، DBMS عمدتاً برای حل مشکلات مالی و اقتصادی استفاده می شد. در عین حال، صرف نظر از مدل ارائه، از انواع داده های اصلی زیر در پایگاه های داده استفاده می شود:

    • عددی مقادیر داده های مثال: 0.43; 328; 2E+5;
    • کاراکتر (الفبایی). نمونه های ارزش داده: "جمعه"، "رشته"، "برنامه نویس"؛
    • تاریخ هایی که با استفاده از نوع خاص "تاریخ" یا به عنوان داده های کاراکتر معمولی مشخص شده اند. نمونه های ارزش داده ها: 12/1/97، 2/23/1999.

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

    • موقت و تاریخ-زمان، طراحی شده برای ذخیره اطلاعات مربوط به زمان و (یا) تاریخ. مقادیر داده های نمونه: 01/31/85 (تاریخ)، 9:10:03 (زمان)، 03/6/1960 12:00 (تاریخ و ساعت);
    • طول متغیر کاراکتر در نظر گرفته شده برای ذخیره سازی اطلاعات متنیطول زیاد، مانند سند؛
    • باینری، برای ذخیره سازی در نظر گرفته شده است اشیاء گرافیکی، اطلاعات صوتی و تصویری، اطلاعات مکانی، زمانی و سایر اطلاعات خاص. به عنوان مثال، در MS Access، این نوع، نوع داده "OLE Object Field" است که به شما امکان می دهد داده های گرافیکی را در پایگاه داده در قالب BMP (Bitmap) ذخیره کنید و هنگام کار با پایگاه داده به طور خودکار آنها را نمایش دهید.
    • هایپرلینک ها، طراحی شده برای ذخیره پیوندها به منابع مختلف (گره ها، فایل ها، اسناد، و غیره) واقع در خارج از پایگاه داده، به عنوان مثال، در اینترنت، شبکه شرکتیاینترانت یا هارد کامپیوتر.

    در DBMS مدرن مدل های مختلفداده ها، همه انواع داده های فهرست شده را می توان استفاده کرد.

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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