زنگ

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

مدل های داده

داده های ذخیره شده در بانک اطلاعاتی ساختار منطقی خاصی دارند ؛ آنها توسط برخی از مدل های ارائه داده ها (مدل داده) پشتیبانی شده توسط DBMS توصیف می شوند. مدلهای داده کلاسیک موارد زیر را شامل می شوند:

· بر اساس سلسله مراتب؛

· شبکه؛

· رابطه ای

علاوه بر این ، در سال های اخیر ، مدل های داده های زیر ظاهر شده و شروع به فعال تر می کنند:

پس از رابطه

چند بعدی

· شی گرا.

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

2.1. مدل داده سلسله مراتبی

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


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

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

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

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

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

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



شکل. 2.2. نمونه ای از نوع "درخت"

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

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

داده های موجود در پایگاه داده با نمودار فوق (شکل.2.2.) ممکن است به عنوان مثال ، مانند شکل 2-3 نشان داده شود.



شکل. 2.3 داده ها در یک پایگاه داده سلسله مراتبی

برای سازماندهی قرار دادن فیزیکی داده های سلسله مراتبی در حافظه رایانه می توان از روشهای زیر استفاده کرد:

· نمایندگی توسط یک لیست خطی با تخصیص حافظه پی در پی (حساب حسابی آدرس ، ساختارهای لیست چپ).

· نمایندگی توسط لیست های خطی متصل (روش هایی با استفاده از اشاره گرها و فهرست ها).

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

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

· انتقال از یک درخت به درخت دیگر؛

· انتقال از یک رکورد به سابقه دیگر در داخل درخت (به عنوان مثال ، به رکورد بعدی دانش آموزان نوع).

· ثبت یک رکورد جدید در موقعیت مشخص شده.

· رکورد فعلی و غیره را حذف کنید

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

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

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

تعداد نسبتاً محدود DBMS براساس یک مدل داده سلسله مراتبی ، از جمله سیستمهای خارجی IMS ، PS / Focus ، Team-Up ، Data Edge و همچنین سیستمهای داخلی Oka ، INES ، MIRIS است.

2.2. مدل شبکه

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

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


متشکل از دانشجویان

رئیس

شکل. 2.5. طرحواره پایگاه داده شبکه

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

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

از مهمترین عملیات دستکاری داده های پایگاه داده از نوع شبکه ، موارد زیر است:

· جستجوی سوابق در پایگاه داده ،

· انتقال از جد به اولاد اول ،

· انتقال از فرزندان به جد ،

· ایجاد یک رکورد جدید ،

· رکورد فعلی را حذف کنید ،

· به روزرسانی رکورد فعلی ،

· ثبت پرونده در ارتباطات ،

استثناء سابقه در ارتباطات ،

· تغییر اتصالات و غیره

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

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

سیستم های مبتنی بر یک مدل شبکه در عمل کاربرد گسترده ای ندارند. معروف ترین DBMS های شبکه عبارتند از: IDMS ، db_VistaIII ، NETWORK ، SETOR و COMPASS.

2.3 مدل رابطه ای

مدل داده های رابطه ای توسط کارمند ارائه شده است آی بی ام Edgar Codd و مبتنی بر مفهوم رابطه است.

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

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

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

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

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

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

نمونه هایی از DBMS های رابطه ای عبارتند از: dBaseIIIPlus dBaseIV (اشتون تیت) ، DB2 (IBM) ، R: BASE (Microrim) ، FoxPro نسخه های اولیه و FoxBase (نرم افزار فاکس) ، پارادوکس و dBASE برای ویندوز (Borland) ، نسخه های بعدی FoxPro ، Visual FoxPro و Access (مایکروسافت) ، Clarion (نرم افزار Clarion) ، Ingres (ASK Computer System) و Oracle (Oracle).

نسخه های اخیر DBMS رابطه ای برخی از ویژگی های سیستم های شی گرا را دارند. از این قبیل DBMS ها معمولاً به عنوان رابطه ی مفعول یاد می شود. نمونه ای از چنین سیستمی Oracle 8.x است.

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

مدل رابطه کلاسیک غیرقابل تجزیه و تحلیل داده های ذخیره شده در قسمت های ورودی جدول است. این بدان معنی است که اطلاعات موجود در جدول در اولین فرم عادی ارائه می شود. تعدادی موارد وجود دارد که این محدودیت در اجرای مؤثر برنامه ها دخالت می کند.

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

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

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

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

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

در بالای سر

فاکتور_ محصولات

در بالای سر

شکل. 2.6. ساختار داده های مدل های رابطه ای و پس از رابطه

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

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

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

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

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

2.5. مدل چند بعدی

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

انگیزه در سال 1993 یک مقاله برنامه توسط یکی از بنیانگذاران رویکرد رابطه ای ، E. Codd بود. این 12 مورد اساسی برای سیستمهای OLAP (پردازش تحلیلی OnLine - پردازش تحلیلی عملیاتی) تدوین می کند ، که مهمترین آنها مربوط به قابلیت های ارائه مفهومی و پردازش داده های چند بعدی است. سیستم های چند بعدی به شما امکان می دهد تا به سرعت اطلاعات را برای تجزیه و تحلیل و تصمیم گیری پردازش کنید.

در توسعه مفهوم IP ، دو جهت زیر قابل تفکیک است:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1999

پتروف 9999999warvooro

حجم فروش

ژیگولی موسکوویچ

اندازه گیری:

زمان (سال) - 1994 ، 1995 ، 1996

مدیر - پتروف ، اسمیرنوف ، یاکوفلو

مدل - ولگا ، لادا ، مسکوویچ

شاخص: فروش

شکل. 2.9 نمونه مدل سه بعدی

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

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

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

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

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

عملیات Rotate برای نمایش داده های دو بعدی استفاده می شود. ماهیت آن تغییر ترتیب اندازه گیری ها در نمایش بصری داده ها است. بنابراین ، "چرخش" از جدول دو بعدی نشان داده شده در شکل 2.8b منجر به تغییر در ظاهر آن می شود به گونه ای که علامت خودرو در امتداد محور X باشد و زمان در امتداد محور Y نمایش داده می شود.

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

عملیات "تجمیع" (Drill Up) و "Drill-down" (Drill-Down) به ترتیب به معنای انتقال به نمایش عمومی تر یا دقیق تر اطلاعات از کاربر از طریق ابرقابل است.

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

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

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

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

نمونه هایی از سیستم هایی که از مدل های داده چند بعدی پشتیبانی می کنند عبارتند از Essbase (نرم افزار Arbor) ، رسانه چند ماتریس (Speedware) ، سرور Oracle Express (Oracle) ، Cache (InterSystem). برخی از محصولات نرم افزاری مانند Media / MR (Speedware) به شما امکان می دهند همزمان با بانکهای داده چندبعدی و رابطه ای کار کنید. اوراکل DBMS ، که در آن مدل داده داخلی یک مدل چند بعدی است ، سه روش دستیابی به داده ها را پیاده سازی می کند: مستقیم (در سطح گره های ماتریس های چند بعدی) ، شی و رابطه.

2.6. مدل شی گرا

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

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

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

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

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

در اینجا هدف از نوع کتابخانه والدین برای اشیاء نمونه کلاسهای SUBSCRIBER ، CATALOG و ISSUE است. اشیاء مختلف مانند BOOK می توانند یک یا والدین متفاوتی داشته باشند. اشیاء از نوع BOOK که یک پدر و مادر یکسانی دارند باید حداقل با شماره موجودی موجود باشند (منحصر به فرد برای هر نسخه از کتاب) ، اما دارای همان ارزش ملک با کد کتاب ، UDC ، عنوان و نویسنده هستند.

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

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

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

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

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

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



شکل. 2.11 قطعه DB با هدف مورد نظر

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

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

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


مدل داده های مناسب

3.1 تعاریف کلیدی

مدل داده های رابطه ای در سال 1970 توسط E. Codd ارائه شد. مدل داده های رابطه ای مبتنی بر مفهوم روابط است.

از نظر ریاضی ، رابطه به شرح زیر تعریف می شود. بگذارید N مجموعه D1 ، D2 ، ... ، Dn داده شود. سپس R یک رابطه بیش از این مجموعه ها است اگر R مجموعه ای از tuples های مرتب شده از طول n فرم (d1 ، d2 ، ... ، dn) باشد ، جایی که d1 یک عنصر از D1 است ، d2 یک عنصر از D2 است ، dn یک عنصر از Dn است. D1 ، D2 ، ... ، Dn به دامنه های رابطه R. گفته می شود که این تعریف معادل تعریف محصول دکارتی مجموعه های D1 ، D2 ، ... ، Dn است.

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

بگذارید این تعاریف را با مثال توضیح دهیم.

مثال 1 فرض کنید دو حوزه وجود دارد:

D1 \u003d (0،1)؛ D2 \u003d (a، b، c).

ما محصول دکارتی دامنه های D1 ، D2 را می سازیم:

D1 x D2 \u003d ((0 ، الف) ، (0 ، ب) ، (0 ، ج) ، (1 ، الف) ، (1 ، ب) ، (1 ، ج)).

به عنوان یک رابطه بر روی دامنه های D1 ، D2 ، می توانید مثلاً موارد زیر را انتخاب کنید:

R \u003d ((0 ، الف) ، (0 ، ج) ، (1 ، ب) ، (1 ، ج)).

رابطه R از چهار تاپل تشکیل شده است ، در هر تاپل دو عنصر ، اولین مورد از دامنه D1 ، دوم از دامنه D2 انتخاب می شود.

مثال 2 فرض کنید چهار دامنه وجود دارد:

D1 مجموعه ای از اعداد صحیح است ، به عنوان مثال ، مجموعه ای از اعداد قسمت (101 ، 34 ، 23 ، 109 ، 147).

D2 - بسیاری از رشته های شخصیت ، به عنوان مثال ، بسیاری از اسامی قطعات (آستین ، براکت ، براکت ، کوپلینگ ، پیچ).

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

D4 - مجموعه ای از اعداد واقعی ، به عنوان مثال ، مجموعه ای از وزن قطعات (45.8 ، 6.9 ، 123 ، 69.3 ، 5.2 ، 2.34).

به عنوان یک رابطه بر روی دامنه های D1 ، D2 ، D3 ، D4 ، می توانید مثلاً موارد زیر را انتخاب کنید:

R \u003d ((34 ، بوشینگ ، قالب سازی پلاستیک ، 69.3) ، (23 ، براکت ، تمبر سرد ، 45.8) ، (101 ، پیچ ، ماشینکاری ، 5.2)).

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

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

به عنوان مثال: جزئیات

مجموعه اصطلاحات زیر معادل است:

رابطه ، جدول ، پرونده؛

ضرب و شتم ، رشته ، ضبط:

ویژگی ، عنصر ستون ، قسمت.

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

جزئیات ( شماره جزئیات، نام قسمت ، نوع پردازش ، وزن).

یک ویژگی اصلی در یک طرح رابطه تأکید می شود.

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

تعداد ستون های یک رابطه نامیده می شود درجه. تعداد کنونی tuples در یک رابطه نامیده می شود قدرت. درجه رابطه معمولاً پس از ایجاد رابطه تغییر نمی کند ، اما با افزودن موارد جدید ، نوسانات قدرت تغییر می کند و برداشته می شود.

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

نمونه ای از قطعه پایگاه داده:

رابطه 1. رادیو (ترانزیستور)

روابط 2. انبار

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

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

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

معمولاً برای دستیابی به اهداف زیر از کلیدها استفاده می شود:

از تکثیر مقادیر در صفات اصلی خودداری کنید.

سفارش تاپل؛

شتاب کار با پیوندهای روابط؛

سازماندهی جدول پیوند

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

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

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

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

نمونه ای از موضوع و روابط مرتبط را در نظر بگیرید.

جزئیات رابطه شی

رابطه شیء "مواد"

رابطه متصل "فرآیند فن آوری"

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

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

1. تمام ردیف های جدول باید منحصر به فرد باشند ، یعنی ردیف هایی با همان کلیدهای اصلی وجود ندارد.

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

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

4- ترتیب قرار دادن سطرها در جدول می تواند دلخواه باشد.

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

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

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

روابط بین روابط (جداول).به طور معمول ، یک بانک اطلاعاتی مجموعه ای از جداول مرتبط است. جداول پیوند مزایای زیر را ارائه می دهد:

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

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

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

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

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

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

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

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

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

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

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

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

<имя атрибута> NULL است و<имя атрибута> NULL نیست.

اگر ویژگی مشخص شده در این توپی ارزش نامشخصی داشته باشد (در این ردیف) ، سپس گزاره IS NULL TRUE است ، و گزاره IS NOT NULL FALSE است ، در غیر این صورت ، محمول IS NULL FALSE است ، و گزاره IS است. NULL واقعی نیست.

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

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

سوم ، این پشتیبانی است تمامیت ارجاعی (تمامیت ارجاعی اعلامی ، DRI).

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

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

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

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

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

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

هنگام تغییر زمینه ارتباط در سوابق جدول والدین ، \u200b\u200bهمزمان مقادیر زمینه های ارتباطات را در سوابق مربوط به جدول کودک تغییر دهید.

هنگام حذف ورودی در جدول والدین ، \u200b\u200bورودی های مربوطه را در جدول کودک حذف کنید.

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

حمایت معنایی از دو طریق ارائه می شود: اعلانی و رویه ای. مسیر اعلانی با حضور سازوکارهایی در DBMS همراه است که از تأیید و اجرای تعدادی از قوانین محدودیت اعلان شده تعریف شده ، که اغلب به آنها "قوانین تجارت" یا محدودیت های تمامیت اعلانی گفته می شود ، اطمینان می کند.

انواع زیر محدودیت های یکپارچگی اعلانی مشخص می شوند:

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

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

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

مثال دیگر ، به عنوان شرط ارزش سال انتشار ، باید عبارتی را مشخص کنید که بررسی کند آیا سال انتشار در فاصله زمانی از 1960 تا سال جاری قرار دارد. برای MS Access ، این عبارت به صورت زیر خواهد بود:

بین سالهای 1960 و سال (اکنون ())

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

YEAR_PUBL\u003e \u003d 1960 و YEAR_PUB<= YEAR(GETDATE())

در اینجا GETDATE () تابع MS SQL Server است که مقدار تاریخ فعلی را برمی گرداند ، YEAR_PUB نام ستونی متناسب با سال انتشار است.

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

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

HOME_PHON NULL یا WORK_PHON NULL نیست

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

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

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

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

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

ساخت یک مدل داده رابطه ای مبتنی بر درک این است که هر مجموعه داده می تواند به عنوان یک رابطه نمایش داده شود ، اجرا شود ، اما به شکل جدول (شکل 1.12) ، جایی که داده ها ارائه می شود

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


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

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

R (A، T)، i \u003d (1..n) (11)

در این بازنمایی ، توسط A ، منظور ما صفتی است که یکی از مشخصات داده ها را توصیف می کند ، و توسط T- نوع داده ای که داده های ارائه شده باید با آنها مطابقت داشته باشند. مثال بالا نمایش غیررسمی از رابطه است. عنوان آن انواع داده هایی که اطلاعات ارائه شده در بدنه رابطه را توصیف می کنند را نشان نمی دهد.

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

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

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

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

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

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

در توضیحات tuples از تعدادی از خصوصیات مهم استفاده شده است که برخی از آنها در زیر آورده شده است:

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

برای مؤلفه های تاپل ، شبیه به عناصر دامنه ، هیچ نظمی فرض نمی شود.

به نظر می رسد که هر زیر مجموعه از tuples یک توپ است.

با ترکیب دامنه ها و تاپل ها می توان رابطه ای را شکل داد که عموماً به شرح زیر تعریف می شود؛

R [<Заголовок>]{<Список кортежей >}. (1.2)

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

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

شکل. 1.13 مثال رابطه با کارمندان

هر رابطه در یک پایگاه داده رابطه با خصوصیات زیر مشخص می شود.

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

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

2- ویژگی ها بر اساس هیچ قاعده ای سفارش نمی شوند.

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

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

3. بر اساس هر قاعده سفارش Tuples نیست.

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

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

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

4- با توجه به وجود تپل های تکراری وجود ندارد.

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

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

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


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

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

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


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

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

جدول 13

گزینه هایی برای نمایش مدل های داده رابطه

نوع نمایش

استفاده شده

واژه شناسی

وقت ملاقات

مدل با بازتاب نام رابطه ، ترکیب انتسابی ، روابط

ذات

نوع داده

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

مدل با بازتاب هدر و بدن با داده های ممکن

نگرش

عنوان

ویژگی / دامنه

نوع داده

برای ارائه برای نشان دادن مقادیر احتمالی داده ها و در صورت لزوم استفاده از تجزیه و تحلیل عملیات احتمالی روابط و داده ها در روابط استفاده می شود

مدلی با نمایش ساختارهای بازنمایی فیزیکی داده ها در DBMS

ویژگی / 11ole / ستون

نوع داده

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


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

  • Boyko V.V. Savinkov V.M. طراحی بانک اطلاعاتی سیستمهای اطلاعاتی.
  • انواع داده ها در فصل های بعدی مورد بحث قرار می گیرند.
  • اصطلاح "عادی سازی" و فرم های عادی در بخش در نظر گرفته می شود. 2

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

مدل رابطه براساس مفهوم مجموعه نظری رابطه استوار است. در رشته های ریاضی مفهومی وجود دارد نگرش ʼʼ (رابطه) ، بازنمایی بدنی از آن است جدول . از این رو نام مدل - رابطه ای .

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

در سال 1970 ، آثاری به وجود آمد که در آنها امکان استفاده از مدلهای مختلف داده های جدولی ارائه شده است. مهمترین این مقاله مقاله ای از کارمند IBM دکتر E. Codd بود (Codd EF ، یک مدل رابطه ای از داده ها برای بانکهای بزرگ داده به اشتراک گذاشته شده. CACM 13: 6 ، ژوئن 1970) ، از کجا برای اولین بار استفاده شد مدت، اصطلاح "مدل داده های رابطه ای" . پروژه System R در یک آزمایشگاه تحقیقاتی IBM تهیه شده است. این پروژه با هدف عملی بودن مدل رابطه را ثابت کنید. DBMS های رابطه ای مربوط به DBMS هستند نسل دوم.

اهداف ایجاد یک مدل داده رابطه ای:

1. فراهم آوردن درجه بالاتری از استقلال از داده ها.

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

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

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

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

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

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

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

3. دامنه - مجموعه ای از مقادیر مجاز که از آن مقدار ویژگی مربوط به یک رابطه خاص گرفته می شود. از نظر برنامه نویسی ، دامنه - ϶ᴛᴏ نوع داده؛

4. جهان - مجموعه ای از مقادیر همه زمینه ها یا مجموعه دامنه ها.

5. موتورسواری - ضبط ، ردیف جدول.

6. قدرتمندی - تعداد ردیف های جدول

7. ویژگی هایفیلدهای نامگذاری شده ، ستونهای جدول

8. درجه نگرش - تعداد رشته ها (ستون ها)

9. الگوی رابطه - لیست سفارش داده شده از نامهای صفت.

10. طرحواره پایگاه داده رابطه ای - مجموعه ای از الگوهای رابطه؛

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

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

قانون یکپارچگی شی ادعا می کند که کلید اصلی نباید کاملاً یا جزئی باشد.

ارتباط این مفاهیم در شکل نشان داده شده است. 4.5

نام و نام خانوادگی سال تولد موقعیت اداره
1. ایوانف I.I. سر کافه 22
2. Sidorov S. S. پروفسور 22
3. آندریوا G. G. پروفسور 22
4. Tsvetkova S. S. مدرک
5. کوزلوف K.K. مدرک 22
6. پتروف P.P. هنر معلم 22
ویژگی های

شکل. 4.5 مفاهیم اساسی یک مدل داده های رابطه ای.

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

12. کلید خارجی - ϶ᴛᴏ یک ستون یا زیر مجموعه ای از ستون های یک جدول که می تواند به عنوان کلید اصلی جدول دیگری باشد. کلید خارجی یک جدول ، اشاره به کلید اصلی جدول دیگر است. از آنجا که هدف از ایجاد یک بانک اطلاعاتی ، ذخیره تمام داده ها است ، در صورت امکان ، در یک مثال ، پس اگر یک ویژگی خاص در چندین رابطه وجود داشته باشد ، پس از آن حضور آن معمولاً نشان دهنده یک رابطه خاص بین ردیف های این روابط است.

کلیدهای خارجی روابط بین جداول پایگاه داده را پیاده سازی می کنند.

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

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

هر یک جدول رابطه ای موارد زیر را دارد خواص:

یک نام دارد ، from با نام تمام جداول دیگر متفاوت است.

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

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

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

هیچ سطر یکسان در جدول وجود ندارد.

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

مفاهیم اساسی یک مدل داده های رابطه ای مفاهیم و انواع هستند. طبقه بندی و ویژگی های دسته "مفاهیم اساسی یک مدل داده های رابطه ای" 2017 ، 2018.

اصول اولیه مدل داده های رابطه ای برای اولین بار در مقاله ای توسط E. Kodd در سال 1970 شرح داده شد. این اثر به عنوان انگیزه ای برای تعداد زیادی مقاله و کتاب است که در آن مدل رابطه ای بیشتر توسعه یافته است. متداول ترین تفسیر مدل داده های رابطه متعلق به C. Data است. با توجه به داده ها ، مدل رابطه از سه بخش تشکیل شده است:

    قسمت ساختاری.

    قسمت انتگرال.

    قسمت دستکاری

قسمت ساختاری توصیف می کند که اشیاء توسط مدل رابطه در نظر گرفته می شوند فرض بر این است که تنها ساختار داده مورد استفاده در مدل رابطه روابط نرمال n-ary است.

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

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

در این فصل قسمت ساختاری مدل رابطه ای مورد بحث قرار می گیرد.

انواع داده ها

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

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

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

    انواع داده های ساده

    انواع داده های ساختاری.

    انواع داده های مرجع.

انواع داده های ساده

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

    منطقی

    رشته

    عددی

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

  • واقعی

  • پولی

    بیشمار

    فاصله

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

انواع داده های ساختاری

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

  • سوابق (ساختارها)

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

مجموعه ای از شاخص ها نامیده می شود. نمایش دادن

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

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

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

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

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

انواع داده های مرجع

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

انواع داده های مورد استفاده در مدل رابطه ای

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

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

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

دامنه ها

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

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

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

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

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

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

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

تفاوت بین یک دامنه و زیر مجموعه در این است که حوزه منعکس کننده معناشناسی استتعریف شده توسط منطقه موضوع. ممکن است چندین دامنه وجود داشته باشد که به عنوان زیرمجموعه\u200cها مطابقت دارند اما دارای معانی مختلف هستند. به عنوان مثال ، دامنه های "وزن وزن" و "مقدار موجود" می توانند به طور یکسان به عنوان مجموعه ای از اعداد صحیح غیر منفی توصیف شوند ، اما معنای این دامنه ها متفاوت خواهد بود ، و مختلفدامنه ها

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

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

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

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

روابط ، ویژگی ها ، روابط رابطه ای

تعاریف و مثالها

مفهوم اساسی مدل داده های رابطه ای است ارتباط . در تعریف مفهوم رابطه ، کتاب C. Data را دنبال خواهیم کرد.

تعریف 1 ویژگی رابطه یک جفت از نوع وجود دارد<Имя_атрибута: Имя_домена>.

نام ویژگی ها باید در رابطه بی نظیر باشد. اغلب ، نام ویژگی های صفت با نام دامنه های مربوطه مطابقت دارد.

تعریف 2. نگرش تعریف شده در بسیاری از حوزه ها (لزوماً متفاوت نیست) شامل دو قسمت است: هدر و بدنه.

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

بدن رابطه شامل روابط بسیار زیادی است. هر یک رابطه روابط تعداد زیادی جفت فرم را نشان می دهد<Имя_атрибута: Значение_атрибута>:

به گونه ای که مقدار ویژگی به دامنه تعلق دارد

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

یا کوتاه تر

,

یا به سادگی

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

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

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

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

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

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

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

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

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

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

O مدل داده های شبکه. رویکرد شبکه به سازماندهی داده ها ، رویکرد سلسله مراتبی است. این مدل با سلسله مراتبی متفاوت است زیرا هر عنصر تولید شده می تواند بیش از یک عنصر تولید کننده داشته باشد. ■

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

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

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

بنابراین ، هدف از سیستم اطلاعات پردازش است داده هادر باره امکاناتبا توجه به دنیای واقعی اتصالاتبین اشیاء در تئوری بانک اطلاعاتی ، داده ها اغلب خوانده می شوند ویژگی ها ، واشیاء - موجودیت ها.هدف ، ویژگی و اتصال - مفاهیم اساسی I.S

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

صفت(یا داده شده)- این شاخصی است که یک شیء خاص را توصیف می کند و نمونه ای خاص از یک شی را عددی ، متنی یا ارزش دیگر می گیرد. سیستم اطلاعات با مجموعه ای از اشیاء طراحی شده در رابطه با این موضوع موضوع ، با استفاده از خاص مقادیر ویژگی(داده) اشیاء خاص. به عنوان مثال ، کلاس هایی را در یک مدرسه به عنوان مجموعه ای از اشیاء برگزار کنید. تعداد دانش آموزان یک کلاس داده شده است که یک مقدار عددی می گیرد (یک کلاس 28 نفر و دیگری 32). نام کلاس معین شده است ، که مقدار متن را به خود اختصاص می دهد (یکی دارای 10A ، دیگری 9B و غیره).

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

بنیانگذار نظریه بانکهای اطلاعاتی رابطه ای به عنوان کارمند IBM دکتر E. Codd شناخته می شود که مقاله ای را در تاریخ 6 ژوئن (ژوئن 1970) منتشر کرد. یک مدل رابطه ای از داده ها برای بانکهای بزرگ داده مشترک(مدل داده های ارتباطی برای بانکهای داده جمعی بزرگ). در این مقاله ، اصطلاح "مدل داده های رابطه ای" آمده است. نظریه بانکهای اطلاعاتی رابطه ای ، که در دهه 70 در ایالات متحده توسط دکتر E. كد توسعه یافته است ، دارای یک پایه ریاضی قدرتمند است كه قوانین سازماندهی كارآمد داده را توصیف می كند. پایگاه نظری توسعه یافته توسط E. Codd به پایه و اساس توسعه تئوری طراحی پایگاه داده تبدیل شد.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

جدول 2.3.اصطلاحات پایگاه داده

تئوری بانک اطلاعاتی ____________ بانک اطلاعاتی رابطه ای _________ سرور SQL __________

جدول جدول جدول رابطه

رشته ضبط Tuple (ردیف)

قسمت خصوصیات _______________ ستون یا ستون

بانکهای اطلاعاتی رابطه ای

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

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

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

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

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

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

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

زنگ

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