PDA

نسخه کامل مشاهده نسخه کامل : مفاهیم و ساختار پایگاه های داده



Saleh
08-09-2010, 15:47
سلام،
در این تاپیک ضمن بیان تعاریف اولیه در مورد پایگاه های داده به بررسی انواع رایج و پرکاربرد پایگاه های داده خواهیم پرداخت.

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


ساختار (Architecture)
سیستم های مدیریت پایگاه داده (Database management systems)
انواع (Types)
مدل ها (Models)
ساختار های ذخیره سازه (Storage structures)
شاخص سازی (Indexing)
تراکنش ها (Transactions)
همتا سازی (Replication)
امنیت (Security)
مسدود سازی (Locking)


1) ساختار (Architecture): هر پایگاه داده از سه سطح تشکیل می شود: خارجی، نظری و داخلی. واضح است که تفکیک پایگاه داده به سه سطح، یکی از ویژگی های عمده مدل رابطه‌ای ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] Fwiki%2FRelational_model) است که بر پایگاه های داده قرن 21 حاکم شده است.
سطح خارجی چگونگی فهم کاربران از نحوه سازمان یافتن داده ها را تعریف می کند. یک پایگاه داده می تواند چندین منظر متفاوت در سطح خارجی داشته باشد. سطح داخلی نحوه ذخیره سازی و پردازش فیزیکی داده توسط سیستم‌ها را تعریف می کند. ساختار سطح داخلی با هزینه، کارایی، مقیاس پذیری و سایر عوامل عملیاتی در ارتباط هست. سطح نظری یک سطح غیر مستقیم بین سطح داخلی و خارجی است. این سطح یک دید عمومی از پایگاه داده را برای ما فراهم می کند که سوای از جزئیات پیچیده نحوه ذخیره سازی و مدیریت داده می باشد و می تواند منظرهای متفاوت سطح خارجی را به صورت یک پارچه و منسجم در بیاورد.

2) سیستم های مدیریت پایگاه داده (Database management systems): یک سیستم مدیریت پایگاه داده یا DBMS شامل نرم افزاری است که پایگاه های داده را راه اندازی نموده، فضای ذخیره سازی، دسترسی، امنیت، پشتیبان و سایر امکانات را فراهم می کند. DBMS ها می توانند بر اساس مدل پایگاه داده ای که پشتیبانی می کنند دسته بندی شوند، مثل رابطه ای یا XML، انواع رایانه هایی که پشتیبانی می کنند، مثل سرور کلاستر یا تلفن همراه، زبان جستجو (Query language) که به پایگاه داده دسترسی دارد، مثل SQL یا XQuery، مبادله کارایی، مثل بیشترین اندازه یا بیشترین سرعت یا سایر موارد. برخی از DBMS ها تعداد بیشتری از این دسته بندی ها را تحت پوشش قرار می دهند. برای مثال پشتیبانی از چند زبان جستجو.
--اجزا سیستم های مدیریت پایگاه داده: اکثر DBMS های سال 2009 از مدل رابطه‌ای استفاده می کنند. سایر DBMS ها مثل DBMS های شی گرا مشخصات ویژه ای برای نیازهای تخصصی فراهم می کنند. این اجزا مشابه هم هستند ولی یکسان نیستند.
---اجزا RDBMS


زبان های زیرین — DBMS های رابطه ای (RDBMS) شامل: زبان تعریف داده (DDL) برای تعریف ساختار پایگاه داده، زبان کنترل داده (DCL) برای تعریف کنترل های امنیتی و دسترسی، و زبان ویرایش داده (DML) برای جستجو و بروزرسانی داده.
درایورهای واسط — این درایورها کتابخانه هایی از کدها می باشند که روش هایی را برای آماده سازی دستورها، اجرای دستورها، واکشی نتایج و ... مهیا می کنند. برای مثال ODBC, JDBC, MySQL/PHP, FireBird/Python.
موتور SQL — این جز دستورهای DDL، DCL و DML را تفسیر و اجرا می کند. این جز خود شامل سه جز عمده (گرد آورنده، بهینه ساز و اجرا کننده) می باشد.
موتور تراکنش — برای اطمینان از اینکه دستور های SQL طبق فرامین برنامه، با موفقیت اجرا شده‌اند یا نه.
موتور رابطه‌ای — اشیاء رابطه ای مثل جدول (Table)، شاخص (Index) و محدودیت های یکپارچه ارجاعی (Referential integrity constraints) در این جز به کار برده می شوند.
موتور ذخیره سازی — این جز، داده را در مکان ذخیره سازی ثانویه ذخیره و بازیابی می کند. همیچنین این جز وظیفه مدیریت اجرا و برگرداندن تراکنش، پشتیبانی و بازیابی و ... را بر عهده دارد.

---اجزا ODBMS
Object DBMS یا DBMS شی گرا دارای اجزای تراکنشی و ذخیره سازی مشابه با RDBMS است. برخی از ODBMS ها DDL و DCL را اداره کرده و وظایف را به طور جداگانه آپدیت می کنند. به جای استفاده از زبان های زیرین آنها از API ها برای این منظور بهره می جویند. آنها معمولا شامل یک زبان زیرین و یک موتور ضمیمه برای پردازش جستجو ها همراه با دستورات تفسیری مشابه ولی نه یکسان با SQL می باشند. مثال هایی برای زبان های شی گرا OQL, LINQ, JDOQL, JPAQL و غیره. موتور جستجو به جای ردیف های رابطه ای، گلچینی از اشیا را باز می گرداند.

--{ این تاپیک در حال کامل شدن می باشد لطفا از ارسال پست خودداری کنید - ممنـون }--

mostafa barcelon
30-09-2010, 21:55
سلام
اگه ممکنه یه تعریف ساده و در حد فهم عامیانه از پایگاه داده بیان کنید .