
فهرست مطالب
مبانی و مفاهيم مديريت داده مکانی
پایگاه داده (DataBase)
هر عارضه مکانی دارای یکسری اطلاعات توصیفی و مکانی می باشد که می توانند درون یک پایگاه داده ذخیره شوند. در واقع پایگاه داده، مجموعه ای ساختار یافته و منسجم از اطلاعات می باشد. پایگاه داده براساس نوع اطلاعاتی که در خود نگهداری می کنند به دو گروه پایگاه داده مکانی (GDB) و پایگاه داده توصیفی (ADB) دسته بندی می شوند.
پایگاه داده توصیفی (Attribute DataBase)
به عبارت ساده تر پایگاه داده متشکل از جدول و یا جداول اطلاعاتی هستند که هر جدول از دو عنصر سطر و ستون تشکیل شده و ارتباط بین جداول براساس مقادیر ستون های مشترک برپایه مدل های ارتباطی خاصی تعریف می گردد.
پایگاه داده مکانی (Geo DataBase)
پایگاه داده مکانی گونه ای از پایگاه داده هستند که با داده های مکانی کار می کنند. در عمل، امروزه پایگاه داده مکانی موجود با افزودن قابلیت هایی به نمونه های موجود پایگاه داده بوجود آمده اند. این قابلیت ها عبارتند از:
- نوع داده مکانی
- شاخص گذاری مکانی
- عملگرهای مکانی
- روال های مکانی کاربردی
نوع داده مکانی
داده های مکانی یا به شکل نوع داده ویژه یا به شکل شی بزرگ دودویی در پایگاه داده ذخیره می شوند.
شاخص گذاری مکانی
این سازوکاری برای تسهیل دسترسی به پایگاه داده مکانی با استفاده از مختصات ذخیره شده در فضای دوبعدی است. انتخاب های مختلفی برای این امر مانند R-Tree، QuadTree، B-Tree وجود دارد که هر کدام بر حسب نوع داده خاص و نیاز کاربردی نقاط قوت و ضعف خود را دارا هستند.
عملگرهای مکانی
مجموعه ای از توابع و پردازش ها هستند که توسط زبان پرس و جوی ساخت یافته SQL جهت پرس وجو و بازیابی محتویات انتخابی پایگاه داده، اتصال جداول بر طبق معیارهای مکانی و غیر مکانی و تولید نتایج در فرمت خاص استفاده می شوند.
روال های مکانی کاربردی
اجزا نرم افزاری متنوعی برای عملکردهای کاربردی خاص پایگاه داده مانند بارگذاری داده مکانی، نسخه بندی و کنترل ثبت تراکنش، تنظیم کارآیی، پشتیبانی پایگاه داده و تکثیر آن هستند.
سیستم مدیریت پایگاه داده (DBMS)
DBMS يك یا مجموعهای از چند برنامه كامپیوتری است كه جهت مدیریت پایگاه های داده و عملیات اجرایی بر روی دادههای درخواستی كاربران طراحی شده است.
مدل عملکرد سیستم مدیریت پایگاه داده
در شکل زیر مدل عملکرد سیستم مدیریت پایگاه داده نشان داده شده است
وظایف سیستم مدیریت داده
- امکان تعريف و ایجاد پايگاه داده
- ذخیره و نگهداری اطلاعات
- بازيابي اطلاعات از پايگاه داده
- افزودن داده های جدید
- حذف، تصحیح و بروزرسانی داده ها
- سازماندهي داده ها
- کنترل امنيت و جامعيت داده ها
- ايجاد ديکشنري داده ها
- امکان کنترل کارائي
- استفادهی همزمان چند کاربر
- تعریف سطح دسترسی برای کاربران
- دسترسی به داده ها از راه دور
مزایای استفاده از سیستم مدیریت داده
- جلوگیری از افزونگی داده
- امکان استفاده همزمان توسط چند کاربر
- ایجاد یکپارچگی بین داده ها
مدل های پایگاه داده ای:
- تخت (Flat or Table Model)
- سلسله مراتبي (Hierarchical Model)
- شبكه اي ((Network Model
- رابطه اي (Relational Model)
- چند بعدی
- شیء گرا (Object Oriented)
- نیمه ساخت یافته (XML)
مدل پایگاه داده پیمایشی
در اواسط 1960 چنین سیستمهایی در بخش تجاری به كار گرفته شد. این شیوه مبتنی بر پیمایش دستی مجموعه دادهها بود. هنگامی كه پایگاه دادهها برای اولین بار برنامه را باز میكرد، به اولین ركورد در پایگاه دادهها و به همین ترتیب نیز به سایر بخشهای داده نیز اشاره میشد. برنامه نویس برای دسترسی به يك ركورد خاص مجبور بود تا این اشارهگرها رابه ترتیب دنبال كند تا به ركورد موردنظر برسد. در query های ساده مانند “یافتن تمام افرادی كه در ایران زندگی میكنند” باید برای جستجو در كل مجموعه دادهها برنامه نویسی میشد و دستوری به نام find وجود نداشت.
مدل پایگاه داده تخت:
این مدل از یک آرایه دو بعدی متشکل از سطرها و ستون ها تشکیل شده است.
به هر سطر یک Record و به هر ستون یک Feild گفته می شود.
همه عناصر یک سطر با هم در ارتباط هستند، و مربوط به یک عارضه مشخص می باشند.
تمام عناصر یک ستون هم جنس بوده و یک ویژگی مشخصی از هر عارضه را بیان می کند.
این مدل پایه برنامههای صفحه گسترده (spreadsheet) است.
مدل پایگاه داده سلسله مراتبی
در این مدل اطلاعات بوسیله اشاره گرهایی که توسط کاربر و در سطح فیزیکی تعریف میشوند به هم متصل میشوند. اطلاعات در این مدل به شکل یک درخت شبیه سازی میشوند. مثلاً اگر هنگام طراحی کلاس در سطح بالای دانشجو قرار گیرد، از هر دانشجو تعدادی اشاره گر به کلاسهایی که وی در آن ثبت نام کرده است، اشاره خواهند کرد. بنابراین زمان گزارش گیری نامتقارن خواهد شد و زمان پیدا کردن کلاسهایی که یک دانشجو دارد بسیار کوتاه و زمان پیدا کردن دانشجویانی که در یک کلاس ثبت نام نموده اند بسیار طولانی خواهد بود. طراحی چنین پایگاهی بسیار مشکل است. با وجود تمام این معایب کارایی این مدل از فایلهای تخت بسیار بیشتر است.
ویژگی های مدل پایگاه داده سلسله مراتبی
- قديمی ترين مدل برای طراحی پايگاه اطلاعاتي است.
- به آن، مدل درختي يا درختواره نيز مي گويند.
- هر گره از درختواره مي تواند ركوردي حاوي يك نوع موجوديت باشد.
- درختواره مجموعه ای از رکوردها با انواع مختلف می تواند باشد.
- مسير منطقي هميشه از سطح بالاتر به سطح پايين تر است.
- مسيري از گره سطح پايين تر به گره سطح بالاتر وجود ندارد.
- بالاترين ركورد اين مدل ريشه آن مي باشد.
- هر گره فرزند فقط يك گره پدر(والد) در سطح بالاتر دارد.
- مجموعه ای از پیوندها را دارد که کلیه انواع رکورد را در ساختار بهم متصل می کند.
- حداکثر یک پیوند بین دو نوع رکورد وجود دارد.
- اتصالی بین رکوردهای هم نوع وجود ندارد.
- نقطه ورود به ساختار هميشه ريشه است.
- دو عملگر جداگانه برای يافتن داده ای در ريشه و پرس و جو در فرزندان مورد نياز است.
- تئوري رياضي در اين روش وجود ندارد .
مزایای مدل پایگاه داده سلسله مراتبی
- سرعت و کارایی بالا برای جستجو در داده ها
- چون داده به صورت يک درختواره سازماندهی می شود، برای داده هایی که ماهيت سلسله مراتبی دارند مناسب است.
- براي پايگاههاي اطلاعاتي مناسب است كه بين موجوديتهاي آن ارتباط يك به يك (1:1) يا يك به چند (M:1) برقرار مي باشد.
- مناسب جهت نگهداري داده ها در محيط آن.
- عملگرهای بازیابی به سادگی عملگر مدل رابطه ایی نیست.
- مقدار زيادي افزونگي داده دارد.
- در بحث ذخيره سازي و بهنگام سازي، اين سيستم داراي اشكال است.
- ساختار درختی انعطاف پذیر نيست.
- نمی توان پیوند افقی و مورب در درخت تعریف کرد.
- ارتباط تنها به صورت “تعلق دارد” یا “شامل می شود” کد ميشوند.
- در عمليات ذخیره سازی دارای آنومالی است.
- در اين روش كاربر وضوح دارد، اما محيط انتزاعي آن مسطح نيست.
معایب مدل پایگاه داده سلسله مراتبی
- عملگرهای بازیابی به سادگی عملگر مدل رابطه ایی نیست.
- مقدار زيادي افزونگي داده دارد.
- در بحث ذخيره سازي و بهنگام سازي، اين سيستم داراي اشكال است.
- ساختار درختی انعطاف پذیر نيست.
- نمی توان پیوند افقی و مورب در درخت تعریف کرد.
- ارتباط تنها به صورت “تعلق دارد” یا “شامل می شود” کد ميشوند.
- در عمليات ذخیره سازی دارای آنومالی است.
- در اين روش كاربر وضوح دارد، اما محيط انتزاعي آن مسطح نيست.
مدل پایگاه داده شبکه ای
مدل شبکه ای تعمیم یافتۀ ساختار سلسله مراتبی بوده و بنابراین امکان برقراری رابطۀ چند- به -چند را در ساختار درخت مانندی با امکان داشتن چندین والد را فراهم می کند. این مدل پیش از این که با مدل رابطه ای جایگزین شود پرطرفدارترین مدل داده بود و مشخصات آن بوسیلۀCODASYL تعریف شده است. مدل شبکه ای با بهره گیری از دو مفهوم داده ها را سازماندهی می کند که عبارتند از “رکوردها” و “مجموعه ها” (sets). رکوردها همانند زبان برنامه نویسی کوبول دارای ستون هایی هستند(که ممکن است به طور سلسله مراتبی سازماندهی شده باشند). مجموعه ها (نباید با مجموعه های ریاضی اشتباه گرفته شوند) روابط یک- به- چند میان رکوردها تعریف می کنند: مانند یک مالک و بسیاری عضو. یک رکورد می تواند در هر تعداد مجموعه یک مالک و در بسیاری از مجموعه ها عضو باشد.
الگوی کاری کاربران پایگاه دادهها را در سطح منطقی مشخص میکند. شگردهای مختلفی برای مدلهای دادهای وجود دارد. برای هر یک از مدلهای منطقی اجراهای فیزیکی مختلفی قابل پیاده سازی است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران مهیا میکند. یک انتخاب مناسب تأثیر موثری بر اجرا دارد. یک مدل دادهای تنها شیوه ساختمان بندی دادهها نیست بلکه معمولاً به صورت مجموعهای از عملیاتها که میتواند روی دادهها اجرا شود تعریف میشوند.
ویژگی های مدل پایگاه داده شبکه ای
- در سال ۱۹۶۹ توسط Charles Bachman ارائه شد.
- بر پایه دو سازه مهم یعنی مجموعهها و رکوردها ساخته میشود.
- بر خلاف روش سلسله مراتبی که از درخت استفاده میکند، از مفهوم گراف بهره مي گيرد.
- به آن ساختار PLEX نيز مي گويند.
- علاوه بر روابط ساده (1:M) از روابط چند به چند (N:M) نيز حمايت ميكند.
- موجودیت ها به كمك انواع ركوردها، و ارتباطات به كمك پیوندهای بین ركوردها نمایش داده میشوند.
- هر گره فرزند می تواند بیش از یك گره والد داشته باشد.
- برای نمايش ارتباطات یك به چند دو سويه مناسب است.
- عملیات ذخیره و بازیابی در این مدل، پیچیده تر از مدل سلسله مراتبی است.
- متدهایی را ویژه ساخت و تعریف دوباره پیوندها دارد.
مزایای مدل پایگاه داده شبکه ای
- توانايي يكبار ذخيره سازي ركورد در كل پايگاه اطلاعاتي را دارد.
- مدلهای ارتباطی طبیعی بیشتری را بین موجودیتها فراهم میکند.
- افزونگي داده ها به مراتب كمتر از مدل سلسله مراتبي مي باشد.
- انعطاف پذیری بیشتری نسبت به سلسله مراتبی دارد.
- در عملیات ذخیره سازی آنومالی ندارد.
- افزونگی داده را بهتر از سلسله مراتبی نشان ميدهد.
- بدليل استفاده از گراف براي ارتباط هاي چندبه چند مناسب است.
معایب مدل پایگاه داده شبکه ای
- پيچيده بودن ساخت، نگهداري، عمليات ذخيره و بازيابي
- دشوار بودن عمل پيمايش بدليل شبكهء پيچيده اي از روابط
- عدم وضوح کامل از دید کاربر و مسطح نبودن محيط آن
- عمليات پيچيده تری دارد.
- پیوند بین رکوردهای یک نوع ممکن نیست.
- رعایت عدم اصل وحدت عملگر در یک عمل
مدل پایگاه داده رابطه ای
در این شیوه داده ها جدولی با ركوردهایی با طول ثابت ذخیره می گردند. چنین سیستمی برای ذخیره سازی پایگاه دادههای پراكنده و در جاييكه بعضی از دادههای ركورد خالی هستند، كارآیی ندارد. مدل رابطهای این مشكل را حل كرده است. بدین صورت كه دادهها به يكسری جدول تقسیم میشوند و عناصر اختیاری از جدول اصلی خارج میگردند و در صورت نیاز در جدول قرار میگیرند. چنین سیستمی برای ردیابی اطلاعات كاربران، اسامی و نشانی آنان و غیره به كار میرود.
مزایا مدل پایگاه داده رابطه ای
- سرعت دسترسی به داده ها بسیار بالا و بسیار ساده است.
- امکان پرسش از این جداول توسط عملگرهای منطقی ریاضی (Add, Subtract and etc.) وجود دارد.
- افزودن اطلاعات جدید و نیز حذف اطلاعات از جداول به راحتی انجام می گیرد.
- پیروی از زبان SQL
معایب مدل پایگاه داده رابطه ای:
- هنگامی که با حجم زیادی از داده ها سرو کار داریم امکان استفاده از این سیستم وجود ندارد.
مقايسه مدل هاي پايگاههاي اطلاعاتي متداول
در عکس زیر مقايسه مدل هاي پايگاههاي اطلاعاتي متداول نشان داده شده است.
مدل پایگاه داده چند بعدی
پایگاه دادههای رابطهای توانست به سرعت بازار را تسخیر كند، هرچند كارهایی نیز وجود داشت كه این پایگاه دادهها نمیتوانست به خوبی انجام دهد. به ویژه به كارگیری كليدها در چند ركورد مرتبط به هم و در چند پایگاه داده مشترك، كندی سیستم را موجب میشد. برای نمونه برای یافتن نشانی كاربری با نام “رهپویان”، سیستم رابطهای باید نام وی را در جدول كاربر جستجو كند و كليد اصلی (Primary Key) را بیابد و سپس در جدول نشانیها، دنبال آن كليد بگردد. اگر چه این وضعیت از نظر كاربر، فقط يك عملیات محسوب، اما به جستجو درجداول نیازمند است كه این كار پیچیده و زمان بر خواهد بود. راه كار این مشكل این است كه پایگاه دادهها اطلاعات صریح درباره ارتباط بین دادهها را ذخیره نماید. میتوان به جای یافتن نشانی “رهپویان”، با جستجو ی كليد در جدول نشانی، اشارهگر به دادهها را ذخیره نمود. در واقع، اگر ركورد اصلی، مالك داده باشد، در همان مكان فیزيكی ذخیره خواهد شد و از سوی دیگر سرعت دسترسی افزایش خواهد یافت. چنین سیستمی را پایگاه دادههای چند بعدی مینامند. این سیستم در هنگامی كه از مجموعه دادههای بزرگ استفاده میشود، بسیار سودمند خواهد بود. از آنجايي كه این سیستم برای مجموعه دادههای بزرگ به كار میرود، هیچگاه در بازار به طور مستقیم عمومیت نخواهد یافت.
مدل پایگاه داده شئ گرا(OOd)
سیستمهای چند بعدی به توسعه سیستمهای شیء گرا منجر شدند. این سیستمها كه مبتنی بر ساختار و مفاهیم سیستمهای چند بعدی هستند، به كاربر امكان میدهند تا اشیاء را به طور مستقیم در پایگاه دادهها ذخیره نماید.
بدین ترتیب ساختار برنامه نویسی شئ گرا را میتوان به طور مستقیم و بدون تبدیل نمودن به سایر فرمتها، در پایگاه دادهها مورد استفاده قرار داد. داده های مکانی و توصیفی در این مدل یکپارچه می باشند. این وضعیت به دلیل مفاهیم مالكيت (Ownership) در سیستم چند بعدی، رخ میدهد. در OOP، يك شیء خاص “مالك ” سایر اشیاء در حافظه است. این درحالیست که در صورتی كه مفهوم مالكيت در پایگاه دادههای رابطهای وجود ندارد.
ویژگی های مدل پایگاه داده شئ گرا
- مدل شيء گرا يك رويكرد مفهومي است.
- مدل شيء گرا در بررسي جهان، بيش از هر چيز، به شناسايي اشياء يا موجوديت هاي مستقل آن دنيا مي پردازد .
- اعمال تفييرات در طراحي ساده است.
- طراحي مدل شيءگرا بر مبناي پنهان سازي اطلاعات است.
- بصورت مجموعه اي از حالت اشياء با حالت اختصاصي خود در نظر گرفته ميشود.
- در اين روش براي هر موجوديت يك كلاس با طبقه ايجاد مي شود.
- هر شئ برای نمایش رابطه شمولیت غالباً ساختار سلسله مراتبی پیدا می کند.
- ذخیره مستقيم اشیاء و بدون تبدیل به سایر فرمتها در پایگاه داده
- بین مفاهیم برنامه نویسی شئ گرا و بانک اطلاعات، رابطه ای تو در تویی حاکم است.
مزایای مدل پایگاه داده شئ گرا
- فراهم نمودن مسير انتقال ساده براي كاربران مدل رابطه اي به اين مدل، براي گريز از محدوديت هاي مدل رابطه اي
- وجود مفهوم مالكيت نسبت به مدل رابطه اي
- اجراي بهتر پرسش و پاسخ ها نسبت به مدل رابطه اي
معایب مدل پایگاه داده شئ گرا
- عدم پشتيباني از view
- نگراني امنيت
- عدم پشتيباني از تغييرات تعريف کلاس پويا
- پشتيباني محدود از قيود ثابت
- امکانات محدود انجام ميزان سازي
- پشتيباني اندک از اشياء مختلط
- يکپارچگي محدود با سيستم هاي برنامه نويسي شيءگراي موجود
- بازدهي محدود
مدل پایگاه داده نیمه ساخت یافته
XML سيستم نرم افزاری است که اجازه می دهد داده در فرمت XML وارد، پردازش و ارسال شود.
دو دسته اصلی پايگاه داده XML وجود دارد :
XML-enabled : پايگاه داده ای که مستند XML را به عنوان ورودی گرفته و به يک پايگاه داده ديگر نظير رابطه ای تبديل می کند و پس از انجام عمليات آنرا مجددا به XML بر می گردند.
Native XML (NXD) : مدل داخلی چنين پايگاه داده ای بر پايه XML است ومستندات XML را بعنوان منبع ذخيره سازی، مستقيما استفاده میکند.
دليل استفاده XML در پايگاه داده، شفافيت داده است.
فهرست سیستم های متداول مدیریت پایگاه داده ها:
Closed source : | Open Source : |
IBM (DB2) | Sleepycat software (Berkeley DB ) |
FileMaker, Inc (FileMaker Pro) | IBPhoenix (Firebird) |
IBM (IMS) | My SQL AB (My SQL) |
Informix | PostgreSQL |
Computer Associates (Ingres) | MaxDB |
Borland (InterBase) | SQLite |
Microsoft (Microsoft SQL Server) | |
Microsoft (Microsoft Access) | |
Mimer AB (Mimer SQL) | |
Oracle | |
Sybase | |
NCR Corporation (Teradata) |
:SQL
- نام این زبان مخفف عبارت Structured Query Language به معنی زبان ساخت یافته پرس و جو می باشد و به کاربر امکان اتصال و دسترسی یه اطلاعات موجود در يک پايگاه داده را می دهد .
- کاربرد این زبان انجام عملیات در پایگاه داده (DBMS) می باشد.
- زبان SQL قادر است تا برای يک پايگاه داده عمل جستجو و گزينش اطلاعات را انجام دهد و همچنين اطلاعات ذخيره شده در يک پايگاه داده را بازيابی، حذف، ذخيره، اضافه و يا به روز کند.
- زبان SQL طوری به گونه ای طراحی شده است که به زبان های محاوره ای روزمره منطبق و نزدیک بوده و یادگیری آن آسان است.
- زبان SQL يک استاندارد بين المللی است .
مفاهیم مرتبط با :SQL
- Date Definition Language (DDL): زبان تعریف داده ها می باشد که با استفاده از این زبان امکان حذف و یا اضافه نمودن یک جدول از بانک اطلاعاتی را می توان انجام داد که خود این زبان دستورات خاص خود را دارد که عبارتند از:Create , Alter , Drop , Create Index , Alter Index , Drop Index
- Data Manipulation Language (DML): زبان پردازش داده ها می باشد که با استفاده از این زبان برای تغییر جداول استفاده می شود که این زبان نیز دارای سه دستور اصلی می باشد که عبارتند از:Insert , Update , Delete
- Data Control Language (DCL): این ویژگی دستورات مدیریت و کنترل داده ها را برعهده دارد که در کنترل داده های بانک اطلاعاتی که بیشتر در رابطه با دسترسی این داده ها به دیگر کاربران است کاربرد دارد.این ویژگی از چهار دستور اصلی پشتیبانی می کند که عبارتند از:Alter Password , Revoke , Grant , Create Syخیرnym
- Data Query Language (DQL): این خاصیت دستورات پرس و جوی داده ها را برعهده دارد که تنها از یک دستور به نام Select تشکیل شده که بیشترین حجم کاری را برای یک کاربر که با SQL کار می کند را برمی گیرد.این دستور باعث گستردگی استفاده از این دستور می شود.
- دسته بعد دستورات كنترلي Transaction ها ميباشد كه امكان مديريت تراكنشي بانک اطلاعاتي را براي كاربر فراهم ميسازد . كه از دستورات زير تشكيل شده اند : Commit , Rollback , Savepoint , Set Transaction