اصول طراحی پايگاه داده ها

anathema

عضو جدید
کاربر ممتاز
بخش اول. پايگاه داده ها چيست ؟

مقدمه

تو بسياری از سازمانها ، تصميم گيری و پيشبرد اهداف ، بستگی به استخراج اطلاعات (Information) و رابطه های مابين اونا در سازمان داره. مدير داده ها (Data) که عهده دار ذخيره و دسترسی و بازيابی داده هاست ، دارای نقش اساسی در موسسه هست و برای توليد اطلاعات مفيد و کارا ، نياز به دسترسی سريع به داده ها وجود داره. اين امر با توجه به حجم غير قابل باور داده ها ، استفاده از سيستم پايگاه داده ها (Database System) رو الزامی ميکنه. سيستم پايگاه داده ها ، ساختاری کامپيوتری هست که از مجموعه ای از داده های مورد نياز کاربران (User) مختلف و نيز ماورای داده ها (Meta Data) که خصوصيات داده ها رو توصيف می کنه و روابط مابين اونا رو بيان ميکنه ، تشکيل شده.

در واقع سيستم پايگاه داده ها ، يک يا چند فايل بايگانی الکترونيکی به نام پايگاه داده ها (Database) به همراه نرم افزاری به نام سيستم مديريت پايگاه داده ها (Database Management System – DBMS) هست که در ورود و خروج داده ها و نيز تنظيم و پردازش محتوای فايل های بايگانی کمک می کنه. سيستم مديريت پايگاه داده ها (DBMS) ، مجموعه برنامه هايی هست که با مديريت ساختار پايگاه داده ها ، ضمن کنترل و دسترسی به داده های ذخيره شده ، امکان استفاده اشتراکی از داده ها رو بوسيله کاربران مختلف فراهم می کنه. يعنی اينکه DBMS نقش واسط (Interface) رو بين Database و User ايفا ميکنه.

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


دلايل گرايش به استفاده از سيستم پايگاه داده ها

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

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

داده - Data
حقايق خامی هست که دارای معنا و مفهوم کمی باشه. کوچکترين داده قابل تشخيص توسط کامپيوتر يک کاراکتر هست.

فيلد - Field
به يک کاراکتر يا گروهی از کاراکترها که دارای معنا و مفهوم و يا حوزه مشخصی باشه ، فيلد گفته ميشه.

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

فايل - File
مجموعه ای از رکوردهای مرتبط تشکيل يک فايل رو ميده.

برای روشن شدن مطلب به شکل زير توجه کنين که نشون دهنده فايلی هست به اسم expert members و از روی اطلاعات مندرج در تاپيک معرفی اعضای متخصص تالار مهندسی صنايع طراحی شده.


طبق واژه های تعريف شده ، فايل expert members دارای 21 واحد داده ، 7 فيلد و 3 رکورد هست. عناوين فيلدها در جدول فوق با خانه های سبز رنگ مشخص شده و داده ها همان محتويات خانه های سفيد رنگ هستن. هر رکورد هم يک رديف از خانه های سفيد رو تشکيل ميده. همونطور که مشاهده ميشه ، اين فايل اطلاعاتی رو در 7 زمينه (field) درباره 3 عضو (record) متخصص نشون ميده.

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

موفق باشين
 
بالا