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

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

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

مدل داده‌های شی‌گرا، توسعه‌ای از مفاد برنامه‌نویسی شی‌گرا است (در حالی که مدل رابطه‌ای بر اساس تئوری مجموعه‌ها، یعنی به عنوان یک مدل داده پدید آمد). گروه مدیریت پایگاه داده شی استاندارد ODMG-93 (گروه مدیریت پایگاه داده شی) را توسعه داد. این استاندارد هنوز به طور کامل اجرا نشده است.

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

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

"کتابخانه" - والد (جد) برای "اشتراک"، "کاتالوگ"، "انتشار"؛

"CATALOGUE" والد "BOOK" است.


"BOOK" - اشیاء مختلف می توانند والدین یکسان یا متفاوت داشته باشند. اگر پدر و مادر یکسان (یک نویسنده)، پس اعداد موجودی متفاوت است، اما isbn، UDC، عنوان و نویسنده یکسان هستند.

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

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

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

چند شکلیبه معنای توانایی همان کد برنامه برای کار با داده های ناهمگن است. به عبارت دیگر، به معنای مجاز بودن در اشیاء از انواع مختلف است که روش ها - رویه ها و عملکردها - با نام های یکسان داشته باشند. در طول اجرای یک برنامه شیء، روشهای مشابهی بسته به نوع آرگومان بر روی اشیاء مختلف عمل می کنند. برای پایگاه داده "LIBRARY"، این بدان معنی است که اشیاء کلاس "BOOK" که دارای والدین متفاوت از کلاس "CATALOG" هستند، می توانند مجموعه ای از ویژگی های متفاوت داشته باشند، به عنوان مثال. برنامه های کار با یک شی از کلاس "BOOK" ممکن است حاوی کد چند شکلی باشد. در کلاس، متد بدنه ندارد، یعنی تعریف نشده است که چه اقدامات خاصی را باید انجام دهد. هر زیر کلاس عملیات لازم را انجام می دهد. کپسوله سازی جزئیات پیاده سازی را از تمام اشیاء خارج از سلسله مراتب داده شده پنهان می کند.

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

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

در دهه 1990، نمونه های اولیه از پایگاه های داده شی گرا موجود ایجاد شد. اینها POET (POET Software)، یاسمین (همکاران کامپیوتر)، IRIS، ORION، POSTGRES هستند.

موضوع 5

رویکرد رابطه‌ای در ساخت مدل اطلاعاتی-منطقی: مفاهیم اساسی

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

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

ایده‌های نظری اصلی مدل رابطه‌ای توسط منطق‌دان آمریکایی چارلز سودرز پیرس (1839-1914) و منطق‌دان آلمانی ارنست شرودر (1841-1902) و همچنین ریاضی‌دان آمریکایی، ادگار کاد، در آثار نظریه‌ی رابطه بیان شد.

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

در سال 1970 مقاله ای از E. Codd در مورد ارائه داده های سازماندهی شده در قالب جداول دو بعدی به نام روابط ظاهر شد. کاد ابتدا مفاهیم اساسی و محدودیت‌های مدل رابطه‌ای را به عنوان مبنای ذخیره‌سازی داده‌ها معرفی کرد و امکان پردازش داده‌ها را با استفاده از عملیات سنتی روی مجموعه‌ها و عملیات‌های رابطه‌ای معرفی‌شده خاص نشان داد.

مفاهیم اساسی مدل رابطه ای در جدول آورده شده است. 3.1.

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

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

جدول 5.1. عناصر مدل رابطه ای

اصطلاح مدل رابطه ای شرح
پایگاه داده (DB) مجموعه ای از جداول و سایر اشیاء لازم برای نمایش انتزاعی حوزه موضوعی انتخاب شده
طرحواره DB مجموعه ای از سرفصل های جدول مربوط به یکدیگر
نگرش جدول - مجموعه ای از اشیاء دنیای واقعی که با ویژگی ها و ویژگی های مشترک مشخص می شوند (فیلدهای جدول)
هدر رابطه هدر جدول - نام فیلدها (ستون ها) جدول
بدن رابطه بدنه جدول مجموعه ای از مقادیر برای تمام اشیاء دنیای واقعی است که به عنوان ورودی های جدول (ردیف های جدول) نشان داده می شود.
طرح رابطه ردیف سرصفحه ستون جدول (سرصفحه جدول)
ویژگی رابطه نام ستون جدول (فیلد جدول)
تاپل رابطه ردیف جدول (رکورد) - یک نمایش یک به یک از یک شی دنیای واقعی ایجاد شده با استفاده از مقادیر فیلد جدول
دامنه مجموعه ای از مقادیر مشخصه معتبر
ارزش صفت مقدار فیلد در رکورد (دو برابر)
کلید اصلی یک یا چند ویژگی (در مورد یک کلید ترکیبی) که به طور منحصر به فرد مقدار تاپل را تعریف می کند (مقدار ردیف جدول)
کلید خارجی ویژگی یک جدول که مقادیر آن با مقادیر یک کلید اصلی در جدول مرتبط دیگر (والد، اصلی) مطابقت دارد. یک کلید خارجی می تواند از یک یا چند ویژگی (کلید خارجی مرکب) تشکیل شده باشد. اگر تعداد مشخصه‌های کلید خارجی کمتر از تعداد ویژگی‌های کلید اصلی مربوطه باشد، به آن کلید خارجی کوتاه (جزئی) می‌گویند.
درجه (آریتی) رابطه تعداد ستون های جدول
قدرت رابطه تعداد ردیف ها (جلوها) جدول
نمونه رابطه مجموعه ای از رکوردها (Tuples) برای یک جدول معین (رابطه). یک نمونه ممکن است در طول زمان تغییر کند. از آنجایی که یک پایگاه داده معمولی در زمان فعلی تنها با یک نسخه از رابطه کار می کند، چنین نمونه ای از رابطه فعلی نامیده می شود.
نوع داده نوع مقدار عنصر جدول
نسبت پایه رابطه ای که شامل یک یا چند ستون مشخص کننده خصوصیات شیء و همچنین یک کلید اولیه است
رابطه مشتق شده یک رابطه پایه نیست، یعنی. ویژگی های شی را مشخص نمی کند و برای ارائه پیوند بین جداول دیگر استفاده می شود، ممکن است حاوی کلید اصلی نباشد. اگر یک کلید اصلی مشخص شده باشد، آنگاه شامل کلیدهای خارجی مرتبط با کلیدهای اصلی رابطه پایه است.
ارتباط رابطه ای بین مقادیر تطبیق در فیلدهای کلیدی - کلید اصلی یک جدول و کلید خارجی جدول دیگر برقرار می کند.
ارتباط یک به یک (1:1) هنگام استفاده از این نوع رابطه، یک ورودی در یک جدول حداکثر می تواند یک ورودی مرتبط در جدول دیگر داشته باشد. در هر دو جدول، فیلدهای کلیدی باید اولیه باشند. برای جدا کردن جداول با چندین فیلد یا برای الزامات حفاظت از داده استفاده می شود
رابطه یک به چند (1:M) هنگام استفاده از این نوع رابطه، هر رکورد یک جدول می تواند با چندین رکورد از جدول دوم مطابقت داشته باشد، اما هر رکورد جدول دوم تنها با یک رکورد از جدول اول مطابقت دارد. جدول اول باید کلید اصلی داشته باشد، جدول دوم باید کلید خارجی داشته باشد.
رابطه چند به چند (N:M) با این نوع رابطه، یک رکورد در جدول اول می تواند با چندین رکورد از جدول دوم مطابقت داشته باشد، اما یک رکورد از جدول دوم می تواند با چندین رکورد از جدول اول مطابقت داشته باشد. منحصر به فرد بودن کلیدها برای چنین جداول مورد نیاز نیست. در فرآیند طراحی یک طرح واره پایگاه داده، چنین پیوندهایی تبدیل می شوند. برای انجام این کار، باید یک رابطه کمکی معرفی کنید که به شما امکان می دهد رابطه چند به چند را با دو رابطه یک به چند جایگزین کنید.


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

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

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

پس رابطه آریک جدول دو بعدی حاوی داده هایی است.

از نظر ریاضی ن-رابطه آرمجموعه ای از محصول دکارتی است D 1×D 2×…×Dnمجموعه ها (دامنه ها) D 1 , D 2 ,…,D n(n≥1)، به صورت اختیاری متفاوت است:

R D 1×D 2×…×Dn,

جایی که D 1×D 2×…×Dnمحصول دکارتی کامل است، یعنی. مجموعه ای از ترکیبات ممکن از هر کدام از n عنصر، که در آن هر عنصر از دامنه خود گرفته شده است.

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

ویژگی های دامنه:

دامنه دارای یک نام منحصر به فرد (در پایگاه داده)،

در یک نوع داده ساده یا در دامنه دیگری تعریف شده است،

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

بار معنایی خاصی را حمل می کند.

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

صفترابطه یک جفت از فرم است

<Имя_атрибута: Имя_домена>(یا<آگهی>).

نام ویژگی ها در یک رابطه منحصر به فرد است. غالباً نام ویژگی ها با نام های دامنه مربوطه یکسان است.

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

هدر رابطه- تعداد ثابتی از ویژگی‌های رابطه که حاصلضرب دکارتی دامنه‌هایی را که رابطه بر روی آنها مشخص شده است، توصیف می‌کند:

(<A1: D1>, <A2: D2 >, …, <A n: D n>).

هدر ثابت است: در حین کار با پایگاه داده تغییر نمی کند، اگر ویژگی ها در رابطه تغییر، اضافه یا حذف شوند، رابطه دیگری به دست می آید. حتی با نام ذخیره شده.

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

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

<Имя_атрибута: Значение атрибута>:

آر(<A1: Val1>, <A2: Val2 >, …, <A n: Val n>).

به گونه ای که ارزش Val iصفت Aiمتعلق به دامنه است D i.

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

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

آر(<A1: D1>, <A2: D2 >, …, <A n: D n>),

یا به اختصار: آر(الف 1, A2, …, A n) یا آر.

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

S R =(الف 1, A2, …, A n), A i D i, من = 1،...،ن.

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

به عنوان مثال، اگر دامنه حاوی داده های عددی باشد، تمام عملیات مقایسه برای آن مجاز است: θ == (=,<>,>=,<=,<,>). با این حال، برای دامنه های حاوی داده های کاراکتر، نه تنها عملیات مقایسه برای برابری و نابرابری مقادیر را می توان مشخص کرد. اگر به یک دامنه معین ترتیب واژگانی داده شود، مجموعه کاملی از عملیات مقایسه نیز دارد.

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

بنابراین، شرایط زیر برای روابط معادل برآورده می شود:

داشتن تعداد یکسانی از ویژگی ها؛

وجود صفاتی با نامهای مشابه;

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

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

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

منحصر به فرد بودن نام رابطه. نام یک رابطه باید با نام سایر روابط متفاوت باشد.

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

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

اختلال صفت. صفات مرتب نشده اند (از چپ به راست).

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

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

اظهار نظر:

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

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

مفاهیم اساسی

تعریف 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

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

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

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

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

نمونه ای از ساختار منطقی OODB برای کتابداری در شکل 1 نشان داده شده است. 2.8.

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

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

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

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

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

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

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

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

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

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

برنج. 2.9. قطعه ای از یک پایگاه داده با یک شی هدف

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

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

در دهه 90 نمونه های آزمایشی OODBMS وجود داشت. در حال حاضر، بیش از 300 DBMS از این دست وجود دارد. برخی از سیستم ها نسبتاً گسترده هستند، مانند DBMS های زیر: Cache (InterSystems)، ROET (ROET Software)، Jasmine (Computer Associates)، Versant (VersantTechnologies)، O2 (ArdentSoftware)، ODB-Jupiter (مرکز تحقیقات و تولید "Inteltek Plus" ")، و همچنین Iris، Orion، و Postgres.

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

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

فن آوری های پایگاه داده مبتنی بر 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 شی گرا کار کنند، شناسه های شی در دو طرف پیوند باید مطابقت داشته باشند. به عنوان مثال، اگر ارتباطی بین EMPLOYEES و CCHILDREN آنها وجود داشته باشد، باید تضمینی وجود داشته باشد که وقتی یک شی که یک کودک را توصیف می کند در یک شی به نمایندگی از یک کارمند درج می شود، شناسه کارمند به شی مربوطه اضافه می شود. این نوع یکپارچگی پیوند، تا حدودی مشابه یکپارچگی ارجاعی در مدل داده‌های رابطه‌ای، با کمک پیوندهای برگشتی ایجاد می‌شود. برای اطمینان از یکپارچگی پیوندها، نحو خاص مورد نیاز برای تعیین مکان شناسه معکوس شی به طراح ارائه می شود. این مسئولیت طراح است که محدودیت هایی را برای یکپارچگی روابط (و همچنین یکپارچگی ارجاعی در یک پایگاه داده رابطه ای) تعیین کند.

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

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

مدل داده شی مطابق با استاندارد 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).

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

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

روی انجیر 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 های چند بعدی موجود از دو طرح اصلی سازماندهی داده استفاده می کنند: هایپرمکعبی و چند مکعبی.

V چند مکعبیاین طرح فرض می کند که چندین هایپرمکعب با ابعاد مختلف و با ابعاد مختلف را می توان در پایگاه داده به عنوان چهره تعریف کرد. نمونه ای از سیستمی که از یک نوع چند مکعبی یک پایگاه داده پشتیبانی می کند، سرور 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.

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