پایگاه داده ها

فايل از نوع جايگاه داده‌ها مجموعه‌اي از ركودهاست كه توسط موضوعي خاص به يكديگر مرتبط شده‌اند.
به هر چيزي كه بتواند نامي داشته باشد شيء گفته مي شود .
به اطلاعات موجود در يك سطر ازجدول كه مربوط به يك فقره شي‌ء مي‌باشد ركود مي‌گوييم .

پايگاه داده‌ها (Data base)
مجموعه‌اي ساخته شده از داده‌هاي مرتبط به يكديگر در رابطه با يك يا چند موضوع را پايگاه داده‌ها يا بانك اطلاعاتي گويند.
مهمترين مسئله در طراحي اوليه يك نرم افزار اين است كه بدانيد چه اطلاعاتي را به عنوان خروجي نياز داريد زيرا با توجه به خروجي‌هاي نرم افزار مي‌توان ورودي‌ها را بدست آورد .

جمع آوري اطلاعات
براي اين منظور مي بايست درمحيط قرار گرفته و هر گونه اطلاعات راجع به گردش كاري محيط را جمع آوري نمود براي اين منظور دو مرحله كاري موجود است :
الف)‌دياگرام : يك دياگرام ، به تمامي كارهايي كه در محيط انجام مي گيرد گفته مي‌شود .
ب) پرس و جو : در صورت لزوم ، جهت جمع آوري اطلاعات بيشتر با سوالاتي كه پرسيده مي‌شود اطلاعات مورد نياز را بدست آورده و آن‌ها را كامل تر مي‌نماييم .

قوانين اساسي طراحي پايگاه داه‌ها :
هر ركورد بايستي يكتا باشد .
مي‌بايستي به هر جدول اصلي يك كليد اصلي اختصاص داد تا از عدم وجود ركوردهاي مشابه در جدول اطمينان حاصل كرد .
فيلدها به طور صحيح وابسته باشند .
هر فيلد جدول به موضوع آن جدول مرتبط باشد در غير اينصورت فيلد يا اضافه بوده يا به جدول ديگري تعلق دارد .

اطمينان از اينكه هر فيلد مستقل است :
مي‌بايست قادر باشيد كه هر يك از فيلدهاي درو ركرود را بدون اينكه روي بقيه فيلدها تاثير بگذارد تغيير دهيد .
اطمينان از اينكه فيلدها شامل محاسبات با مشتقات نيستند .

اطمينان از وجود داده‌ها در كوچكترين بخش منطقي : وجود داده‌ها در كوچكترين بخش منطقي بسيار حائز اهميت مي‌باشد و مي‌توان داده‌ها را با كدها و يا به صورتي استفاده كرد كه حجم كمتري را شامل شود .

انواع پايگاه داده‌ها :
پايگاه داده‌ها از نظر ساختار مي‌تواند يك سطحي يا رابطه‌اي باشد كه در ذيل هر يك از آنها توضيح داده خواهد شد .

پايگاه داده يك سطحي
پايگاه داده يك سطحي اساسا براي ليست‌هاي ساده مانند دفترچه تلفن مورد استفاده قرار خواهد گرفت كه در آن فقط از يك شي يا يك جدول استفاده خواهد شد .

پايگاه ‌داده‌ي رابطه‌اي :
پايگاه داده‌ي رابطه‌اي اساسا براي ليست‌هاي پيچيده مورد استفاده قرار خواهد گرفت‌.
ارتباط بين جداول
همانطور كه در قبل توضيح داده شد هر جدول شامل تعدادي ركورد و هر ركورد شامل تعدادي فيلد مي‌باشد توجه به اين نكته ضروري به نظر مي رسد كه فيلد مشترك مبناي ارتباط بين دو جدول مرتبط را تشكيل مي‌دهد به همين دليل امكان خالي كردن اين فيلدها داده‌ نمي‌شود .

وجود فيلد مشتركي كه دو جدول را به يكديگر مرتبط مي‌كند . به اين معني است كه وجود داده‌هاي تكراري به حداقل ممكن خواهد رسيد براي دو جدول مرتبط ، داده‌ها در فيلد مشترك مي‌بايست د ر هر دو جدول تكرار شوند تا دو جدول با يكديگر ارتباط داشته باشند شايد اگر براي تمامي داده‌ها يك جدول بزرگ ايجاد

نمائيد مجبور به داشتن فيلدهاي تكراري باشيد اما با اين كار زمان زيادي را در ورود داده‌ها هدر خواهيد داد چون در هر ركورد بايد تمامي فيلدهاي پايگاه داده وجود داشته باشد و از طرفي در برخي مواقع امكان ايجاد يك جدول بزرگ وجود ندارد بنابراين مجبور به استفاده از چندين جدول هستيد كه بهترين راه براي جلوگيري از افزايش تعداد داده‌هاي مشترك استفاده از ارتباط فيلد مشترك است .

انواع ارتباطات (Relation ships)

اغلب جداول پايگاه داده فيلدي به نام كليد اصلي دارند كه به ساير فيلدهاي جدول تقدم دارد . هر چند كه فيلد كليد اصلي لزوما مهمترين ارزش اطلاعاتي را ندارند.
اما در ارتباط نياز اصلي مي‌باشند .
فيلد كليد اصلي همواره فيلد ارتباط دو جدول مرتبط نيست ولي براي اين كار بسيار مناسب است و غالبا براي همين منظور به كار مي‌رود .
ارتباط يك به يك (one to one)
ارتباط يك به يك نادرترين ارتباط ممكن بين جداول مي‌باشند هنگامي كه در دو جدول تعداد ركوردها يكسان باشد و هر ركورد يك جدول به ركورد ديگري در جدول ديگر مرتبط باشد ،‌يك ارتباط يك به يك بوجود مي آيد .

Access هر جدول مي‌تواند تا ۲۵۶ فيلد داشته باشد ولي اگر وجود جدولي با بيش از ۲۵۶ فيلد ضرورت داشته باشد ، فقط با ايجاد دو يا چند جدول و برقراري ارتباط يك به يك بين آنها قادر به برآوردن اين نياز خواهيد بود . ارتباط يك به يك كم نظير است چون معمولا مي‌توانيد آن دو جدول را در يك جدول ادغام نمائيد .

ارتباط يك به چند
ارتباط يك به چند متداول ترين نوع ارتباط بين جداول است . اين ارتباط زماني اتفاق مي‌افتد كه ركورد از جدول با يك يا چند ركورد از جدول ديگر مرتبط باشد .
ارتباط چند به يك و يك به چند مشابه هستند لذا هر دو عبارت به يك معني به كار مي‌روند .

ارتباط چند به چند ( many to many)
اكسس ارتباط چند به چند را مستقيما پشتيباني نمي‌كند ولي مي‌توانيد آن را شبيه سازي نماييد ارتباط چند به چند هنگامي ايجاد مي‌شود كه ركوردهاي متعددي از يك جدول به يك يا چند ركورد از جدول ديگر مرتبط باشند دراين صورت access به جاي آن از رابطه يك به چند به همراه يك جدول رابطه‌اي استفاده مي‌نمايند .

برنامه‌ي access
Microsoft access ،‌يك نرم افزار شيء‌ گرا است بدين مفهوم كه شامل گروهي از اشياء به نامهاي Module ، Macro ، Report ،‌Page ، form ،‌Qmery ، Table مي‌باشد كه اين اشياء به همراه داده بر روي هم فايل بانك اطلاعاتي را تشكيل مي‌دهند اكسس يك بانك اطلاعاتي رابطه‌اي management system (RDBMS) Relation Database است زيرا مي‌توان بين جداول موجود در بانك اطلاعات رابطه برقرار كرد .

همچنين اكسس يك سيستم مديريت بانك اطلاعاتي است بدين معني كه نه تنها اطلاعات را ذخيره مي‌نمايد بلكه ابزارهاي لازم جهت مديريت اطلاعات مانند قابليت‌هاي جستجو ، مرتب سازي ، ويرايش اطلاعات گزارشگيري و غيره را نيز در اختيار كاربر قرار مي‌دهد .
قدرتمندي access و استفاده از wizard آن باعث شده كه استفاده آن براي افراد مبتدي بسيار راحت باشد .

 

اشياء اصلي پنجره پايگاه داده ها :
آيكونهايي كه در سمت چپ موجودند اشياء (‌ابزار ) اصلي اكسس مي‌باشند اين اشياء عبارتند از Report, Forms , Queries, Tab les pages, Modules Macros.
جدول (Table)
اصلي ترين شيء هر بانك اطلاعاتي جدول مي‌باشد كه در آن داده‌ها نگهداري مي‌شوند هر جدول مجموعه‌اي از داده‌هاست كه در رابطه با يك موضوع مشخص مي‌باشند .

پرس وجو (Query)
در بيشتر موارد يك پرس و جو سوالي است كه درباره داده‌هاي درون پايگاه داده پرسيده مي‌شود همچنين مي‌توان ازيك پرس و جو جهت انجام محاسبات ،‌بروز رساني ، درج ، حذف يا ويرايش داده‌ها استفاده نمود .

زمانيكه پرس و جو يي از پايگاه داده‌ها به عمل مي‌آيد آخرين اطلاعات موجود در بانك اطلاعاتي در اختيار كاربر قرار خواهد گرفت در صورتي كه پرس و جو از پرس و جوهاي ديگر باشد به آن پرس و جوي چند سطحي گويند .

فرم ( Form):
از فرم مي‌توان جهت ورود ، ويرايش يا نمايش اطلاعات يا قالب‌هاي مختلف در پايگاه داده‌ها استفاده نمود همچنين فرم مي‌تواند به منظور كنترل اجراي برنامه‌هاي كاربردي يا پيام‌ها نيز مورد استفاده قرار گيرد .

گزارش (Report):
از گزارش براي چاپ و نمايش اطلاعات پايگاه داده‌ها استفاده خواهد شد گزارش اين امكان را مي‌دهد كه اطلاعات را با قالب مورد نياز ، تهيه و چاپ نماييد ، همچنين قادريد گزارشات را به صورت اطلاعات گروهي و محاسبات مجموع و ميانگين نيز تهيه نمائيد .
يك گزارش مي‌تواند از داده‌هاي جدول يا نتيجه‌ي يك پرس و جوي موجود در بانك اطلاعاتي باشد .

صفحه (page)
صفحه ،‌شي ء‌،‌ جديد در اكسس ۹۷ به بعد مي‌باشد و نام اصلي آن صفحه هاي دستيابي به داده هاي (Data Access pages) است كه به اختصار به آن صفحه (‌‌page) گفته مي‌شود . صفحه فايل HTML است كه مي‌توان آن را مستقيما با داده‌هاي يك بانك اطلاعاتي مرتبط نمود صفحه ها شباهت زيادي به فرم‌هاي اكسسي دارند و براي مشاهده‌ي آنها بايد از يك مرورگر ( Browser) صفحات وب استفاده نمود و به طور كل صفحات وب فايلهاي مجزا با فرمت HTML و خارج از بانك اطلاعاتي ذخيره مي‌شوند .

ماكرو
ماكرو در بسياري از موارد جهت اتصال دستورات به كليدهاي فرمان يا رويدادها مورد استفاده قرار مي‌گيرد .

ماژول (MODUL)
ماژول‌ها توابعي هستند كه با استفاده از Visual Basic Application)VBA نوشته مي‌شوند و توسط آنها اشياء ديگر موجود در پايگاه داده‌ها را مي‌توان پردازش نمود ‌،‌معمولا ماژول‌ها جهت انجام اموري كه توسط ماكروها امكان پذير نمي‌باشند ، به كار مي‌روند .
نحوه ي ايجاد جدول :
اگر بر روي شيء table كليك كنيم روش‌هاي ايجاد كه ۳ روش مي‌باشد نشان داده مي‌شود .
۱) Creat table in design view
2) Creat table by using wizard
3) Creat table by entering data

ايجاد جدول بوسيله طراحي Design view
هر چند كه ايجاد جدول با استفاده از wizard ،‌بسيار سريع و آسان است اما در بسياري از موارد با توجه به نياز ، امكان استفاده از جداول نمونه ميسر نمي‌باشد بنابراين مي‌بايست جدول مورد نظر طراحي گردد، به عنوان مثال هنگامي كه بخواهيد از فيلد تاريخ در جدول استفاده نمائيد نياز به فيلدي جهت نمايش تاريخ شمسي داريد در صورتي كه در جداول نمونه اين قبيل فيلدها موجود نمي باشند همچنين در اين انتخاب مي‌توان بسياري از ويژگي‌ فيلدها را به صورت دستي ايجاد نمود .
قسمت بالاي پنجره‌ي طراحي جدول داراي ۳ ستون Description , Data Type , Field مي‌باشد كه در قسمت field name نام فيلد مورد نظر را تايپ مي‌نمائيد .

۲)‌ نوع داده ها (data type)
ستون دوم نوع داده مي باشد توسط اين ستون مي‌توان نوع داده‌هاي ورودي به فيلد را كنترل نمود كه دادها مي‌تواند از نوع Number( عددي ) ، Text( متني ) ، Memo(‌ يادداشت ) ، Data/ Time( تاريخ / زمان ) ، currency( ارز ، پول ) ، yes / no (‌بله / خير) ، hyperlink (‌فول ارتباط ) و…باشد .

۳) توضيحات (Description)
ستون توضيحات اين امكان را مي‌دهد كه توضيحاتي براي فيلد دراين محل نوشته شود در صورتي كه كاربربخواهد از جدول پايگاه داده‌ها استفاده نمايد هنگامي كه روي فيلد قرار گيرد توضحيات مذكور درباره‌ي فيلد در status bar نمايان خواهد شد يا در صورتي كه برنامه نويس بخواهد پس از مدتي تغييراتي را بر روي نرم افزار اعمال نمايد مي‌تواند از توضيحات هر فيلد جهت انجام ا مور پشتيباني استفاده نمايد .

خصوصيات فيلد ( properties):
پس از ايجاد هر فيلد در قسمت بالاي پنجره‌ي طراحي ، قسمت پائين پنجره نيز فعال خواهد شد اين قسمت شامل خصوصيات فيلد ( field properties) بوده كه خود داراي دو Tab مي‌باشد ( look up , General)
خصوصيات فيلد در General
الف )‌سايز فيلد ( field size) توسط اين خصوصيت مي‌توان حداكثر طول داده‌ها را تعيين نمود كه براي داده‌هاي متني اين مقدار بين صفر تا ۲۵۵ كاراكتر مي‌باشد و اگر Number باشد مي‌توان براي ويژگي field size يكي از اندازه‌هاي ذيل را انتخاب نمود :
Byte: جهت نگهداري مقادير بين صفر تا ۲۵۵ به كار رفته و يك بايت حافظه را به خود اختصاص مي‌دهد .
Integer: جهت نگهداري مقادير بين ۳۲۷۶۸- تا ۳۲۷۶۷+ به كار رفته و دو بايت حافظه را به خود اختصاص مي‌دهد .
Single: جهت نگهداري مقادير بين تا به كار رفته و چهار بايت حافظه را به همراه مفير شناور به خود اختصاص مي أهد .
Replication ID : جهت نگهداري مقدار منحصر به فردي كه به آن GUID ( Globally unique Identifier) نيز مي‌شود به كار رفته و شانزده بايت حافظه را به خود اختصاص مي‌دهد .
ب ) قالب ( format) : توسط اين خصوصيت مي‌توان شكل ظاهري خروجي داده‌ها را نمايش داد اين قالب از سه طريق كه عبارتند از قالب استاندارد ، قالب قابل ساخت توسط سازنده‌هاي اكسس و قالب قابل ساخت توسط تايپ كاراكترها ايجاد مي‌گردند‌.
پ)‌الگوي ورود داده‌ها ( Input mask)
Input mask راهنماي ورود داده‌ به جدول مي‌باشد و براي داده هاي از نوع Text , currency , number , Data/ time به كار مي‌رود . الگوي ورود داده از ۳ بخش تشكيل شده است كه عبارتند از :
بخش اول : قالب ورود داده مانند : ۹۹۱۹۹۹
بخش دوم : توسط اين بخش مي‌توان تعريف نمود كه آيا قالب ورود داده نيز به همراه داده در جدول ذخيره شود يا خير در اين بخش صفر به معناي اين است كه قالب ورود داده به همراه داده ذخيره شود و يك يا فاصله خالي به معناي اين است كه قالب ورود داده به همراه داده ذخيره نشود .
بخش سوم : توسط علامتي كه دراين بخش گذاشته مي‌شود مي‌توان تعريف نمود كه اكسس قالب ورود داده را جهت هدايت كاربر با چه علامتي مشخص نمايد .
ت ) برچسب ( caption)
كاركترهايي كه در قسمت caption نوشته مي‌شوند به عنوان برچسب فيلد قرار داده شده و برچسب به هنگام نمايش فيلد در حالت صفحه داده‌اي در سه ستون يا در فرم‌ها و گزارشات به عنوان برچسب در كنار فيلد يا در سه ستون نمايش داده مي‌شود و نسبت به فيلد داراي مزايايي است كه عبارتند از :
مي‌تواند داراي فاصله خالي باشد
مي‌تواند فارسي نوشته شود
ث)مقدار پيش فرض (Defult Value)
هنگامي كه درجدول يك ركورد جديد ايجاد مي‌شود مقدار پيش فرض موجود در فيلد به صورت اتوماتيك در فيلد وارد مي‌شود به عنوان مثال در صورتيكه فيلد محل تولد ۹۰ درصد دانشجويان يك دانشگاه تهران است مي‌توان كلمه ” تهران ” را در خصيصه Defult Value براي فيلد محل تولد قرار داد .
در صورت لزوم كاربر مي‌تواند مقدار ديگري را به غير از پيش فرض در فيلد وارد نمايد .
مقدار پيش فرض براي فيلدهاي نوع Memo , Text مقدار null( خالي ) و براي فيلدهاي نوع number مقدار صفر مي‌باشد .