پایگاه داده مکانی پیش نیاز راه اندازی Web GIS
نقشه و داده های مکانی خود را سروسامان دهید
در این نوشته قصد داریم شما را با پایگاه داده (به انگلیسی Database) و سپس پایگاه داده مکانی (به انگلیسی GeoDatabase یا Spatial Database و یا GeoDB) آشنا سازیم، با ما همراه باشید…
برای آنکه بتوانید برنامه نویسی Web GIS انجام دهید می بایست مقدمات Web GIS را برپا کنید. یکی از مقدمات راه اندازی سامانه Web GIS، ایجاد پایگاه داده مکانی و بارگذاری نقشه ها و داده های مکانی در آن می باشد.
قصد داریم آموزش هایی را منتشر کنیم تا شما را با مفاهیم پایگاه داده مکانی، انواع نرم افزارهای پایگاه داده مکانی، نقاط قوت و نقاط ضعف هر کدام، آشنا کنیم.
این هشتمین آموزش از کلاس رایگان آموزش Web GIS است. برای مشاهده آموزش های پیشین و دانلود فیلم و PDF آن ها، می توانید به صفحه کلاس Web GIS، مراجعه نمایید.
پایگاه داده چیست و چه کاربردی دارد؟
اگر به یاد داشته باشید پیشتر در آموزش GIS (در نوشته سیستم اطلاعات جغرافیایی چیست؟) به شما گفتیم که سیستم یا سامانه دارای سه بخش ورودی، پردازش و خروجی می باشد.
همچنین گفتیم که داده ها به عنوان ورودی سیستم و اطلاعات به عنوان خروجی سیستم می باشند. در سیستم ها نیازمندیم تا ورودی ها و خروجی ها را ذخیره و نگهداری نماییم. چراکه به دفعات زیاد نیاز به استفاده دوباره از آنها و بازیابی آن ها می باشیم. امروزه در دنیا دو روش كلي براي ذخيره و بازيابي دادهها وجود دارد:
- استفاده از فایل های ساده
- استفاده از پایگاه منسجم از داده ها
دادهها یا به صورت فایلهای ساده بر روی حافظه ذخیره میشوند و یا به صورت یک پایگاه منسجم از دادهها نگهداری میشوند. در سیستم فایلی، دادهها در فایلهای مجزا قرار خواهند گرفت. در اين سیستمها هر برنامهي كاربردي، تنها به فايل دادهای مربوط به خود، میتواند مراجعه میکند.
معایب ذخیرهسازی داده ها بهصورت فایلی:
- افزونگي و ناسازگاري داده ها
- مشکل در دستيابی به داده ها و نياز به نوشتن برنامه جديد براي انجام هر کار
- ايجاد ناسازگاري (به دليل وجود چندين کپي از داده ها)
- مشکلات امنيتی (به دليل دسترسي بدون کنترل توسط چند کاربر)
همان گونه که مشاهده می کنید، ذخیره سازی داده به صورت فایلی، معایب زیادی به همراه دارد. برای غلبه بر معایب ذکر شده، سیستم پایگاه داده پیشنهاد می شود. در روش سیستم پایگاه داده، كليه داده ها با ساختار منظم و سامانمند، ذخيره می شوند. این روش برای کاهش مشکلات در طراحی، ساخت و نگهداری سسیستمهای اطلاعاتی ایجاد شد. مفهوم پایگاه داده از دهه ۱۹۶۰ مطرح شد. سیستمهای اطلاعاتی برای جمعآوری، ذخیره، پردازش و توزیع اطلاعات، به منظور پشتیبانی از تصمیمگیری و کنترل، در سازمانها به کار برده میشوند. این سیستمها معمولا با تعداد زیادی کاربر نهایی همزمان و با تعداد زیادی داده مختلف، سروکار دارند. هنگامیکه کاربران سیستم اطلاعاتی از یک نفر بیشتر باشند، بحث به اشتراک گذاری دادهها بین آنها و مدیریت دسترسی به داده ها و کنترل سطوح دسترسی افراد با صلاحیتهای مختلف، مطرح میشود و باعث میشود مدیریت داده ها در قالب فایل، سخت، پیچیده و پرهزینه باشد. اینجاست که کاربرد پایگاه داده ها مطرح میشود.
مزایای پایگاه داده
- اعمال محدودیتهای امنيتي
- به اشتراك گذاشتن دادهها
- تجمع، وحدت ذخیرهسازی و کنترل متمرکز دادهها
- كاهش افزونگي
- پرهيز از ناسازگاري
- صحت بيشتر داده و استقلال از برنامههای کاربردی
- راحتی پیادهسازی برنامههای کاربردی جديد
معایب پایگاه داده
- نیاز به هزينه خرید سختافزار و نرم افزار
- نیاز به هزينه برای تبديل از سيستم فايلی به سيستم پايگاه داده
- زمانبر بودن طراحی سيستم های پايگاه داده
البته امروزه با پیشرفت تکنولوژی، این معایب وزن سنگینی ندارند و برای هر کدام، راهکارهایی موجود میباشد. برای مثال اگر شما پایگاه داده خود را بر روی یک فضای اشتراکی رایانش ابری بارگذاری نمایید، تقریبا تمامی معایب ذکر شده را از بین برده اید.
نمونه هایی از کاربردهای سيستم پايگاه داده، انجام کليه تراکنشهای بانکداري، رزرواسيون و زمانبندی خطوط هوایي، ثبتنام دانشجويان، واحدگيری و ثبت نمرات در مراکز آموزشی است.
مفاهیم پایگاه داده
در این بخش، به منظور آشنایی بیشتر با پایگاهداده، به توضیح مختصر مفاهیم و اصطلاحات رایج خواهیم پرداخت. ما قصد نداریم تئوری پایگاههای داده را به شما بگوییم. ما کمینه مواردی را که برای فراگیری آموزش پایگاه داده مکانی به آن نیاز دارید را به شما خواهیم گفت و مطالعه بیشتر در این زمینه را به خودتان واگذار میکنیم.
موجودیت
موجوديت (به انگلیسی Entity)، پديده، شي يا فردي است که در مورد آن ميخواهيم اطلاع داشته باشيم. هر موجوديت، دارای مجموعهاي از صفات خاصه (به انگلیسی Attribute) است که آن موجودیت را از سایر انواع موجودیتها، مجزا مینماید. برای مثال اگر در نظر داريم يك پايگاهداده براي ذخیره و مدیریت اطلاعات دانشجویان يك دانشگاه پيادهسازي كنيم، مواردي چون دانشجویان، اساتید، دروس، كلاسها و غيره از موجوديتها به شمار ميروند.
مثال: موجوديت دانشجو در سيستم دانشگاه ميتواند داراي صفات خاصه: نام، نام خانوادگي، سال تولد، رشته تحصيلي، سال ورود و … باشد و يا موجوديت درس، دارای صفات خاصه: كد درس، نام درس و تعداد واحد باشد.
داده ها
داده ها (به انگلیسی Data)، دارای تعاريف مختلفی است. به طور کلی، دادهها، كلمات و ارزشهاي واقعي هستند كه از طريق مشاهده و تحقيق بدست ميآيند. به عبارت ديگر، دادهها، نمودي از وقايع، معلومات، رخدادها، پديدهها و مفاهيم ميباشند. در محاسبات، دادهها به مفهومی گفته میشود که به شکلی مناسب براي انتقال و پردازش، ترجمه شود. در کامپيوتر و رسانههای ارتباطاتی امروزی، دادهها به شکل دودویی (به انگلیسی Binary) تبديل ميشوند. بنابراين دادهها يک نمايش دودویی از يک موجوديت منطقي ذخيره شده در حافظه کامپيوتر هستند. از نظر ساختاري، دادهها به مقادير صفات خاصه انواع موجوديتها اتلاق میشوند.
ريشه کلمه داده، از عبارت لاتين datum گرفته شده که به معنی اطلاع است و data فرم جمع آن است. اما datum بهندرت استفاده میشود و بیشتر ترجيح میدهند data را به صورت يک کلمه مفرد استفاده کنند.
اطلاعات
اطلاعات (به انگلیسی Information)، مفهومي است که براي گيرنده آن، قابل درک بوده و گیرنده با دانستن آن میتواند برای حل يک مسله، تصميمگيري يا ارزيابی كند. از نظر ساختاری، اطلاعات عبارتند از اسم یک صفت خاصه از یک موجودیت به همراه مقدار آن موجودیت.
هنگاميکه اطلاعات در يک بسته خاص قرار میگيرند و براي درک موضوعی يا انجام کاری استفاده ميشوند، به دانش تبديل میشوند.
پایگاه داده ها چیست؟
پایگاه داده ها، مجموعه ای از داده های ذخیره شده و پایا، به صورت یکپارچه، بههم مرتبط، حتی الامکان با کمترین افزونگی، تحت مدیریت یک سیستم کنترل متمرکز، مورد استفاده یک یا چند کاربر به طور همزمان و اشتراکی، میباشد ( روحانی رانکوهی، مفاهیم بنیادی پایگاه داده ها).
امروزه به صورت عامیانه، واژه پایگاه داده و بانک اطلاعاتی، به جای پایگاه داده ها به کار برده میشوند.
سیستم مدیریت پایگاه داده ها
سیستم مدیریت پایگاهدادهها یا DBMS که کوتاه شده عبارت Database Management System میباشد، یک سیستم نرمافزاری است که هدف آن، رفع نیازهای برنامههای کاربردی جهت اتصال و کار با پایگاهدادهها میباشد. در حقیقت، DBMS، نرمافزاری است برای دسترسی به پایگاهدادهها از طرف کاربران نهایی، طراحان پایگاهداده و مدیران پایگاهداده. با DBMS از طریق واسط کاربری آن، برای ساخت پایگاهداده، مدیریت آن، نگهداری و پشتیبانی آن تعامل میکنند.
انواع پایگاه داده
در گذشته از دو نوع مدل داده سلسله مراتبی و شبکه ای جهت پیاده سازی پایگاه داده استفاده میشد، اما در حال حاضر، سه مدل رابطه ای، شیگرا و شی رابطه ای، جایگزین دو مدل قدیمی شده اند. در این بخش به طور خلاصه، این سه نوع مدل شرح داده میشوند.
- مدل رابطه ای
پایگاه داده رابطه ای، بر مبنای مدلهای رابطه ای بنا شده و داده ها را در جداول و ارتباطها، سازماندهی میکند. پایگاه داده رابطه ای، مجموعه ای از جداول میباشد که به سادگی قابل درک میباشند.
- مدل شی گرا
مدل پایگاه داده شی گرا، مجموعه ای از توابع شی گرایی و پایگاه داده می باشد. واحد پایه در پایگاه داده شی گرا، شی است. این اشیا دارای شناسه، توصیفات و رفتار می باشند. این سیستم ها که مبتنی بر ساختار و مفاهیم سیستم های چند بعدی هستند، به کاربر، امکان می دهند تا اشیا را به طور مستقیم در پایگاه داده ذخیره نماید. بدین ترتیب، ساختار برنامه نویسی شی گرا را می توان به طور مستقیم و بدون تبدیل نمودن به سایر فرمت ها، در پایگاه داده، مورد استفاده قرار داد. این وضعیت به دلیل مفاهیم مالکیت در سیستم چند بعدی، رخ می دهد. در پایگاه داده شی گرا، یک شی خاص، مالک سایر اشیا در حافظه است. در صورتی که، مفهوم مالکیت در پایگاه داده های رابطه ای، وجود ندارد. هر دو پایگاه داده رابطه ای و شی گرا، دارای نقاط قوت و ضعف هایی هستند که بحث در این زمینه از حوصله این دوره آموزشی خارج است.
- مدل شی رابطه ای
این پایگاه داده که در بعضی مواقع، مدل رابطه ای توسعه یافته نیز نامیده می شود، تعاملی بین مفاهیم مدل های شی گرایی و رابطه ای می باشد. در این شیوه، کلیه عناصر شی گرا در پایگاه داده رابطه ای، ثبت و ذخیره می شوند و از تمامی توابع پایگاه داده رابطه ای، استفاده می شود. در این مدل، خصوصیات اشیا در جداولی ذخیره می گردند. ضمن اینکه برای هر کلاس، به طور جداگانه، رفتار نیز تعریف می گردد.
تعریف پایگاه داده مکانی
پایگاه داده های مکانی (که بیشتر آنرا پایگاه داده مکانی می نامند)، گونهای از پایگاه داده ها میباشد که با دادههای مکانی کار میکنند. در واقع، پایگاه داده های مکانی، با افزودن قابلیت هایی به پایگاه داده های عادی، بوجود آمده است. این قابلیت ها عبارتند:
- نوع داده مکانی
- شاخص گذاری مکانی
- عملگرهای مکانی
نوع داده مکانی:
داده های مکانی یا به شکل نوع داده ویژه، یا به شکل شی بزرگ دودویی (به انگلیسی BLOB)، در پایگاه داده ها ذخیره میشوند.
شاخص گذاری مکانی:
شاخص گذاری مکانی، سازوکاری برای افزایش سرعت دسترسی به پایگاه داده های مکانی با استفاده از مختصات ذخیره شده در فضای دوبعدی است. شاخص گذاری های مختلفی مانند R-Tree، QuadTree، B-Tree وجود دارند که هر کدام بر حسب نوع داده خاص و نیاز کاربردی، نقاط قوت و ضعف خود را دارا هستند.
عملگرهای مکانی:
مجموعه ای از توابع و پردازشها هستند که توسط زبان پرسوجوی ساخت یافته (به انگلیسی SQL) جهت پرس وجو و بازیابی محتویات انتخابی پایگاه داده، اتصال جداول بر طبق معیارهای مکانی و غیرمکانی و تولید نتایج در قالب خاص استفاده میشوند. قابلیت های نرمافزاری متنوعی برای عملکردهای خاص پایگاه داده ها مانند بارگذاری داده مکانی، نسخه بندی و کنترل ثبت تراکنش، تقویت کارآیی، پشتیبانی پایگاه داده و تکثیر آن هستند.
هر چند پایگاه داده مکانی در سالهای اخیر، رشد قابل توجهی داشته ولی هنوز در زمینه هایی مانند داده های سه بعدی و دادهای زمان مند، نیازمند تحقیق و توسعه بیشتری میباشد.
فیلم آموزش پایگاه داده مکانی
به شما پیشنهاد می کنیم فیلم رایگان جلسه هشتم کلاس Web GIS را دانلود نمایید. ما در این فیلم، شما را با مبانی و مفاهیم پایگاه داده مکانی آشنا می کنیم.
سخن پایانی
ما در 7 جلسه گذشته، شما را با مبانی و مفاهیم GIS، مبانی و مفاهیم Web GIS، طراحی و پیاده سازی Web Site و برنامه نویسی تحت وب آشنا کردیم. برای برنامه نویسی Web GIS و شروع پیاده سازی Web GIS بودند. برای شروع برنامه نویسی قابلیت های GIS در یک سامانه Web GIS نیاز دارید تا مقدماتی را فراهم کنید. این مقدمات به شرح زیر هستند:
- ایجاد یک پایگاه داده مکانی
- ورود نقشه ها و داده های مکانی به پایگاه داده مکانی
- انتشار نقشه ها و داده های مکانی در Web
پس از این سه گام می توانید برنامه نویسی قابلیت های GIS را شروع نمایید. ما از این جلسه کلاس آموزش Web GIS، آموزش پایگاه داده مکانی را شروع کردیم. در جلسات پیش رو، شما را بیش تر با پایگاه داده جغرافیایی آشنا می کنیم.
باسلام.لطفا برای مدلهای پایگاه داده یک مثال در زمینه داده های مکانی بیاورید و کدام مدل از ساختارها مناسبتراست و بیشتر استفاده میشود.باتشکر
درود بر شما
بحث مدل های پایگاه داده بسیار گسترده است. اما بطور تیتر وار، مدل های مدل شبکه ای، رابطه ای، موجودیت-رابطه ای، شی گرا و… را می توان نام برد. در خصوص مدل های مناسب برای داده های مکانی وابسته به نوع بکار گیری آنها متفاوت می باشد.
باتشکر.
من هم دنبال چگونگی بکارگیری هر مدل هستم. و بیشتر برای ارائه پروژه نیاز به مثالهای کاربردی داده های مکانی هستم.
سلام خدمت دوستان عزیز.نیاز به راهنمایی شما بزرگواران دارم
من برای پایگاه داده مکانی-زمانی دنبال ابزار پیاده سازی می گردم،برای ارائه درس پایگاه داده پیشرفته،ازتون سپاسگزار می شوم که راهنمایی بفرمایید.
درود بر شما. این نوع پایگاه داده ها با هر DBMS ای قابل پیاده سازی هستند و نیاز به ابزار خاص ندارند. فقط برای نمایش داده ها و برخی پردازش ها نیاز به کدنویسی دارید.