انواع مدل داده (Data Model) کلاسیک
نحوه سازماندهی داده ها در یک پایگاه داده را مدل داده ( Data Model ) مینامند. مدل داده ها با توجه به شناخت ما از عوارض پیرامون خود و روابط بین آنها شکل میگیرند. موضوع از آنجایی شروع میشود که ما میخواهیم فضای پیرامون خود را در قالب یکسری تعاریف مدل کنیم و برای این کار نیاز به مدلی برای تعریف اشیاء موجود در این فضا داریم. مدلی که انتخاب میکنیم باید بتواند خصوصیات عوارض مکانی اطراف ما و ارتباط بین عوارض را در خود ذخیره سازی کند.
مبحث مدل داده (Data Model) همیشه مورد توجه متخصصان علوم ژئوماتیک بوده و مدل ها به گونه های مختلف توسعه داده شده اند. اما اگر بخواهیم آنها را دسته بندی کنیم، پنج گروه اصلی را میتوانیم ذکر کنیم:
1- سلسله مراتبی یا درختی ( Hierarchical )
2- شبکه ای ( Network )
3- رابطه ای ( Relational )
4- شی گرا ( Object Oriented )
5- رابطه ای – شی گرا ( Object Relational )
در ادامه به توضیح سه مورد اول خواهیم پرداخت و مزایا و معایب هر کدام را بررسی خواهیم کرد.
مدل داده سلسله مراتبی یا درختی
در این مدل، دادهها با ساختار درختی سازماندهی میشوند. فقط یک فیلد کلیدی میتواند وجود داشته باشد. بالای درخت، ریشه (Root) نامیده میشود. به استثناء ریشه هر المان دارای یک المان مربوطه در سطح بالاتر است که به آن والد (Parent) گفته میشود و هر والد میتواند یک یا چند فرزند (Child) داشته باشد. در این مدل ارتباط از نوع ساختار یک به یک (1-1) یا یک به چند (One-To-Many) است و اطلاعات بوسیله پیمایش ساختار درختی بازیابی میشوند.
مزایا
1- سرعت دستیابی بالا به حجم عظیم داده
2- ساده بودن ساختار
معایب
1- عدم امکان جستجو در فیلدهای غیر توصیفی که در صورت نیاز باید پایگاه داده بازسازی شود.
2- دامنۀ تمام پرسشها از قبل باید معلوم باشد.
3- مشکل بودن اصلاح ارتباط دادهها.
4- کارایی کم بازیابی به علت نیاز به پیمایش سلسله مراتب برای دستیابی به دادههای واقع در سطوح پایین درخت.
5- غیر قابل انعطاف بودن.
6- عدم امکان وجود چند والد.
7- عدم توفیق در کاربردهای GIS.
8- افزونگی داده
مدل داده شبکه ای
این مدل برخی مشکلات مدل سلسله مراتبی را حل کرده و مزایا و معایب آن بشرح زیر است. در این مدل بدون درنظر گرفتن سلسله مراتب قرارگیری داده ها، صرفاً ارتباط بین آنها تعریف شده است.
مزایا
1- دسترسی به رکوردها بدون نیاز به پیمایش تمامی سلسله مراتب بالای رکورد
2- عدم نیاز به ریشه
3- امکان وجود چند والد برای یک فرزند
4- امکان ارتباط چند به چند ( Many-To-Many )
5- انعطاف پذیری بیشتر نسبت به مدل سلسله مراتبی
6- افزونگی کمتر داده نسبت به مدل سلسله مراتبی
7- سازگاری بیشتر با پیچیدگی های جهان واقعی
8- سرعت بالای بازیابی به علت کدگذاری از قبل المانهای داده (اما نسبت به سلسله مراتبی سرعت بازیابی کمتر است).
معایب
1- پیچیده بودن مدل
2- بزرگ بودن حجم فایل به علت نیاز به ذخیره سازی اطلاعات بیشتر مربوط به اتصالات
3- نیاز به زمان بیشتر برای بازسازی اطلاعات در صورت ایجاد تغییر
4- عدم توفیق در کاربردهای GIS به علت انعطاف پذیری بالاتر مدل رابطه ای برای کاربردهای GIS
مدل داده رابطه ای
در این مدل، دادهها به صورت مجموعه ای از جداول دو بعدی ذخیره میشوند که توسط فیلدهای کلیدی (فیلدهای مشترک) بهم وصل (Logical Join) میشوند. در واقع یک کلاس عارضه توسط یک جدول با فیلدهای مشترک ارائه میشود. جدول به نامهای رابطه (Relation) یا چندتایی (Tuple) نیز نامیده میشود.
مزایا
1- انعطاف پذیری بالا و عدم محدودیت در پرسش دهی یا به عبارت دیگر امکان انجام جستجو در هر جدول و بر اساس هر فیلد توصیفی.
2- عدم نیاز به ذخیره سازی جدول الحاقی ( Join ) و جلوگیری از تولید افزونگی
3- نرمال بودن جداول که باعث ایجاد انسجام ( Integrity ) و حداقل افزونگی میشود.
4- افزونگی کمتر نسبت به مدل های سلسله مراتبی و شبکه ای
5- دارای پایه تئوری دقیق و ریاضی
6- سادگی ساختار
7- سادگی ایجاد تغییرات
8- وجود زبان استاندارد SQL ( Structured Query Language ) که در RDBMS های مختلف کاربرد دارد.
9- قابلیت استفاده SQL در مدلهای رابطه ای مختلف
10- رایج ترین مدل در نرمافزارهای تجاری GIS و کاربردهای GIS به علت انعطاف پذیری بالا
معایب
1- سخت بودن پیاده سازی و اجرا
2- کارآیی کمتر و کند بودن سیستم بخاطر عدم وجود اتصالات فیزیکی یا اشاره گرها ( Pointers )
3- مناسب نبودن برای کار با اشیاء پیچیده
4- میزان بالای بروز اشتباهات منطقی به علت انعطاف پذیری بالای مدل