نمونه پایگاه داده
نویسنده : محمد پارسایی | زمان انتشار : 09 اسفند 1399 ساعت 00:40
جهت انجام پروژه های دانشجویی و یا تمرینهای برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید
@AlirezaSepand
یکی از مسائلی که از دیرباز مورد توجه برنامه نویسان و طراحان سیستمهای اطلاعاتی قرار داشته، روشهای ذخیره و بازیابی اطلاعات به صورت سریع و قابل اطمینان است. یکی از این روشها استفاده از بانکهای اطلاعاتی (Database) است. امروزه بانکهای اطلاعاتی کاربرد فراوانی دارند. از سیستمهای پیچیده گرفته تا سیستمهای ساده به طور معمول از بانک اطلاعاتی برای ذخیره و بازیابی اطلاعات خود استفاده میشود. کاربردهای زیادی برای بانک اطلاعاتی میتوان در نظر گرفت. یک دفترچه تلفن ساده یا سیستمهای اطلاعاتی نگهداری اطلاعات پزشکی یا هویتی افراد در سازمان تامین اجتماعی یا ثبت احوال همگی از بانکهای اطلاعاتی متعددی استفاده میکنند که به منظور تسهیل در امر ذخیره، ویرایش، جستجو و بازیابی اطلاعات درخواستی، ایجاد شدهاند. بانکهای اطلاعاتی، دادهها را به شکل ساختیافتهای (Structured) نگهداری کرده، در صورت نیاز این اطلاعات را بازیابی (Retrieved) میکنند. با توجه به کاربردی بودن پایگاه داده در فعالیتهای امروزی، این نوشتار از مجله فرادرس را به پایگاه داده و چند اصطلاح آن اختصاص دادهایم.
پایگاه داده یا بانک اطلاعاتی چیست؟
به عنوان یک تعریف میتوان گفت، بانک اطلاعاتی یا پایگاه داده (Database) مجموعهای سازمان یافته، از اطلاعات (دادهها) است. این مجموعه دادهها ممکن است به صورت و شکلهای مختلف به یکدیگر مرتبط باشند. انواع مختلفی از بانکهای اطلاعاتی وجود دارد. بهترین بانک اطلاعاتی برای یک سازمان خاص به نحوه استفاده سازمان از دادهها بستگی دارد. در ادامه فهرستی از انواع بانکهای اطلاعاتی را به صورت فهرستوار معرفی میکنیم.
- بانکهای اطلاعاتی رابطهای (Relational Database): بانک اطلاعاتی رابطه ای در دهه 1980 حاکم شد. موارد موجود در یک پایگاه داده رابطهای به عنوان مجموعهای از جداول با ستون و ردیف سازماندهی میشوند. فن آوری دادههای رابطهای کارآمدترین و انعطاف پذیرترین روش برای دسترسی به اطلاعات ساختار یافته را فراهم میکند.
- پایگاه دادههای شیگرا (Object-oriented Databases): اطلاعات در یک پایگاه داده شیگرا مانند برنامهنویسی شیگرا به شکل اشیاء نمایش داده شده و براساس خصوصیات و عملکرد اشیاء با آنها رفتار میشود.
- پایگاه دادههای توزیع شده (Distributed Databases): یک بانک اطلاعاتی توزیع شده شامل دو یا چند پرونده است که در سایتهای مختلف قرار دارند. این پایگاه داده ممکن است در چندین کامپیوتر ذخیره شوند که در همان مکان فیزیکی یا در شبکههای مختلف پراکنده باشد.
- انبارهای داده (Data Warehouses): یک مخزن مرکزی برای دادهها، انبار دادهها است که نوعی پایگاه داده محسوب میشود و به طور خاص برای «پرس و جو» (Query) سریع و تجزیه و تحلیل طراحی شده است.
- پایگاه دادههای NoSQL: یک پایگاه داده NoSQL، یا غیر رابطهای (Non-relational Databases)، اجازه میدهد تا دادههای غیرساختاری و نیمهساختیافته ذخیره و دستکاری شوند (بر خلاف یک پایگاه داده رابطهای، که در آن چگونگی ارتباط بین تمام داده را تعریف میکنند). هرچه برنامههای وب رایجتر و پیچیدهتر میشوند، پایگاه دادههای NoSQL محبوبیت بیشتری پیدا کردند.
- پایگاه دادههای نمودار (Graph Databases): بانک اطلاعاتی گراف، دادهها را از نظر موجودیتها (Entity) و روابط (Relation) بین موجودیتها ذخیره میکنند.
- پایگاه دادههای OLTP: بانک اطلاعاتی OLTP یک پایگاه داده سریع و تحلیلی است که برای پردازش اطلاعات تعداد زیادی از تراکنشهای انجام شده توسط کاربران متعدد طراحی شده است.
این پایگاههای داده، تنها تعداد محدودی از دهها نوع پایگاه داده در حال استفاده هستند. بانکهای اطلاعاتی دیگر که کمتر متداولند، متناسب با کارکردهای بسیار خاص علمی، مالی یا سایر موارد ایجاد میشوند. علاوه بر انواع مختلف پایگاه داده، تغییر در رویکردهای توسعه فناوری و پیشرفتهای چشمگیر مانند ابر (Cloud) و اتوماسیون، پایگاههای داده را به جهات کاملاً جدیدی هدایت میکنند.
به عنوان مثالهایی از نرمافزارهایی که امکان تعریف و به کارگیری پایگاه دادهها را فراهم میسازند، میتوان به محصولی از شرکت مایکروسافت به نام «اکسس» (MS-ACCESS) و «مای اسکیوال» (My SQL) اشاره کرد.
اصطلاحات پایگاه داده و معرفی آنها
همانطور که مشاهده کردید، اصطلاحات خاصی هنگام استفاده یا تعریف بانکهای اطلاعاتی به کار میرود که در ادامه فهرست شدهاند.
- هویت یا موجودیت در پایگاه داده
- جدول اطلاعاتی در پایگاه داده
- فیلد در جدولهای پایگاه داده
- رکورد در جدولهای پایگاه داده
قصد داریم در ادامه این نوشتار به معرفی این گزینهها بپردازیم.
موجودیت در پایگاه داده (Entity)
در مباحث مربوط به پایگاه داده یا بانکهای اطلاعاتی، هر چیزی که راجع به آن بخواهیم اطلاعاتی ذخیره کنیم، یک هویت یا «موجودیت» (Entity) نامیده میشود. به عنوان مثال در یک سیستم ذخیره سازی اطلاعات دانشگاه، دانشجو یک موجودیت و استاد دانشگاه یک موجودیت جدا است، زیرا اطلاعات قابل تشخیص برای دانشجو با اطلاعات استاد متفاوت است، هر چند در بعضی از مواقع این دو هویت یا موجودیت با یکدیگر مرتبط میشوند. برای مثال دروس و ترم میتوانند این دو هویت را به یکدیگر پیوند دهند. یا در یک سیستم پذیرش بیمارستان، بیمار یک موجودیت و پزشک معالج نیز خود یک موجودیت است. پزشک معالج در حقیقت رابطهای بین هویت پزشک و بیمار خواهد بود.
جدول اطلاعاتی در پایگاه داده
دادهها در بانکهای اطلاعاتی در ساختاری به نام «جدول» (Table) ذخیره میشود. به عبارت دیگر جداول محل ذخیرهسازی دادهها در پایگاه داده است. هر جدول اطلاعات یک موجودیت را نگهداری میکند. برای مثال، دفترچه تلفن برای نگهداری اطلاعات افراد (یک موجودیت) تحت یک جدول طراحی شده و اطلاعات مورد نیاز در آن جدول ذخیره میشود.
البته ممکن است در یک پایگاه داده، چندین جدول برای نگهداری اطلاعات مربوط به موجودیتها، در نظر گرفته شود. در عین حال این موجودیتها با استفاده از جدولهای مختلف و ارتباط بین آنها میتوانند به یکدیگر متصل شده و گزارشات یا موجودیتهای جدیدی ایجاد کنند.
فیلد و رکورد در جدولهای پایگاه داده
هر جدول بانک اطلاعاتی از یک سری سطر و ستون تشکیل شده است. به هر سطر از جدول بانک اطلاعاتی یک «رکورد» (Record) گفته میشود. از طرفی، هر رکورد نیز از اجزاء کوچکتری به نام «فیلد» (Field) ساخته شده است. در واقع هر سطر یک جدول به عنوان رکورد و هر ستون از جدول به عنوان یک فیلد تعریف میشود.
واضح است قبل از پیادهسازی جدول باید تعداد ستونهای جدول از ابتدا مشخص شود که این خود بخشی از تجزیه و تحلیل و طراحی سیستم بانک اطلاعاتی است، چون اگر ستونی نادیده گرفته شود اضافه کردن ستون بعد از ورود اطلاعات ممکن است مشکل ساز شود یا حتی در نظر گرفتن ستون اضافی نیز در آینده بانک اطلاعاتی را دچار مشکل میکند.
در تصویر زیر یک نمونه از جدول اطلاعاتی مربوط به دفترچه تلفن را مشاهده میکنید. مشخص است که ستونها نمایانگر فیلد و سطرها رکوردها را نشان میدهند.
فیلد و رکورد در یک جدول برای ثبت اطلاعات تلفن در یک پایگاه داده تلفنی
قبل از ایجاد جدولها باید تعداد فیلدها و نوع مقادیری که در هر یک از آنها باید وارد شود، مشخص شده باشند. این امر خود بخشی گام یا مرحله ایجاد بانک اطلاعاتی است که به نام تجزیه و تحلیل و طراحی سیستم پایگاه داده معروف است. این قسمت از کار بسیار مهم است چون اگر ستونی یا فیلدی نادیده گرفته شود یا نوع مقادیر آن به درستی تشخیص داده نشود، اضافه کردن ستون بعد از ورود اطلاعات در جدول ممکن است مشکل ساز شود یا حتی در نظر گرفتن ستون اضافی نیز در آینده بانک اطلاعاتی را دچار مشکل کند. طراحی بانک اطلاعاتی باید به گونهای باشد که تعداد فیلدها (ستونها) بهینه در نظر گرفته شوند.
برای تمایز بین اطلاعات رکوردهای یک جدول باید یک فیلد به گونهای انتخاب شود که مقادیر آن در جدول تکرار نشود. در مثال دفترچه تلفن، هیچ فیلدی این ویژگی را ندارد و نمیتواند به عنوان یک معیار برای تمایز رکوردها به کار رود. به این موضوع نیز توجه داشته باشید که طراحی بانک اطلاعاتی باید به گونهای باشد که تعداد فیلدها (ستونها) بهینه در نظر گرفته شود.
نقش کلید اصلی (Primary Key) در پایگاه داده
برای تمایز بین اطلاعات رکوردهای یک جدول باید یک فیلد به گونهای انتخاب شود که مقادیر آن در جدول تکرار نشوند. در مثال دفترچه تلفن، هیچ فیلدی این ویژگی را ندارد و نمیتواند به عنوان یک معیار برای تمایز رکوردها به کار رود. به فیلدی که این ویژگی را داشته باشد «کلید اصلی» (Primary Key) با به اختصار (.P.K) گفته میشود. کلید اصلی باید دو ویژگی داشته باشد:
- این فیلد باید حتما مقدار دهی شود.
- مقادیر این فیلد نمیتواند تکراری باشد.
به عنوان مثال در سیستم اطلاعاتی دانشجویی دانشگاه، شماره دانشجویی برای هر دانشجو منحصر به فرد است و هر دانشجو نیز به طور حتم یک شماره دانشجویی دارد. در جدول زیر یک نمونه از جدول اطلاعاتی مربوط به مشخصات دانشجویی را مشاهده میکنید.
جدول ۱: فیلدها و رکوردهای یک جدول اطلاعاتی برای ثبت دادههای دانشجویی
نام | نام خانوادگی | شماره دانشجویی | رشته تحصیلی | مقطع تحصیلی |
علی | احمد | 703356 | کامپیوتر | کارشناسی |
قاسم | عباسی | 793568 | کامپیوتر | کاردانی |
محمد | طاهری | 832225 | آمار | کاردانی |
در نوشتارهای بعدی مجله فرادرس، با مفهوم رابطه بین جدولها که به کمک کلید اصلی مشخص میشود، اشاره خواهیم کرد.
خلاصه و جمعبندی
در این نوشتار با بعضی از اصطلاحات مربوط به پایگاه داده یا بانکهای اطلاعاتی و همچنین انواع آنها آشنا شدیم. از آنجایی که پایگاه داده از اجزایی تشکیل شده است، آگاهی از نحوه عملکرد آنها و تنظیماتشان در نرمافزارهای ایجاد بانکهای اطلاعاتی احتیاج به تخصص دارد که در دنباله مطالب مربوط به پایگاه داده، آنها را بازگو خواهیم کرد.
اگر این مطلب برای شما مفید بوده است، آموزشها و مطالبی که در ادامه آمدهاند نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای مهارتهای اساسی کار با کامپیوتر
- آموزش اکسس (Access) به همراه کدنویسی VBA
- آموزشهای مجموعه نرم افزاری آفیس
- آموزش کار با Query در اکسس (Access)
- آموزش کار با بانک اطلاعاتی اکسس (Access) در سی شارپ (#C)
- پایگاه های داده SQL و NoSQL و تفاوت آنها — به زبان ساده
- معرفی زبان SQL — راهنمای جامع
^^
«آرمان ریبد» دکتری آمار در شاخه آمار ریاضی دارد. از علاقمندیهای او، یادگیری ماشین، خوشهبندی و دادهکاوی است و در حال حاضر نوشتارهای مربوط به آمار و یادگیری ماشین را در مجله فرادرس تهیه میکند.
بر اساس رای 20 نفر
آیا این مطلب برای شما مفید بود؟
منبع: blog.faradars.org