![]() |
![]() |
واحد پردازش مرکزیCPU
این بخش یک مدار الکترونیکی گسترده وپیچیده است که به انجام دستورات بر نامه های ذخیره شده می پردازد دارای دو بخش است که عبارتند از
واحد کنترل و واحد محاسبه ومنطق
ازچهار بخش ذخیره سازی موقت برای ذخیرهء دستورها و یا داده ها استفاده میکند این مناطق حافظهء موقتcpu
نام دارندRegister
ثباتهای مختلف وظایف متفاوتی را انجام می دهند برای مثال ثبات آدرس مکان ذخیره شدن یک دستور ویا معمولآ نتایج محاسبات را (Accumulator)یک قطعه دادهای را در حافظه دنبال می کند وثبات انباشتگر
جمع آوری می نماید
:واحد کنترل
این بخش تمام سیستم کامپیوتر را به نحوی هدایت می کند که دستورات بر نامه های ذخیره شده را انجام دهند
این بخش باید بتواند با دو بخش واحد محاسبه ومنطق وحافظه ارتباط برقرار کند
:(Alu)واحد محاسبه ومنطق
کار این بخش انجام توابع حسابی مقایسه ای ومنطقی است توابع حسابی شامل جمع، تفریق ، ضرب وتقسیم می شوند عملیات منطقی به مقایسهء اعداد ، حروف وخصوصیات ویژه می پردازد این عملیات سه نوع شرایط را مورد آزمایش قرار می دهد
:شرایط مساوی
در این شرایط دو مقداربا هم برابر هستند :شرایط کوچکتر
در این شرایط یک مقداراز مقدار دیگر کمتر است
:شرایط بزرگتر
در این شرایط یک مقدار از یک مقدار دیگر بیشتر است
برای توصیف توابع مقایسه ای استفاده می کند(=،<،>)از علایم Aluواحد
:توجه
واحد پردازش مرکزی را که بر روی تنها یک تراشه قرار دارد به طور مختصر ریز پردازنده و یا
PII-333 - 486-DX ریز تراشه می نامند مانند ریز پردازنده های
وقتی از یک ریز پردازنده برای کنترل وسایل بخصوصی مانند سیستم های سوختی موجود در یک -
Intel 8096 ماشین استفاده می شود به آن تراشهء منطقی ویا میکرو کنترلر های
توانایی معماری پردازنده های پنتیوم شرکت اینتل را بهبود بخشیده(Multimedia extensions) MMXتراشهء
و عملکرد بر نامه های کاربردی چند رسانه ای و مخابراتی که دارای ویژگیهای گرافیکی ، تصویری وصوتی را افزایش میدهد
حافظه
حافظه بخشی از کامپیوتر است که داده هاودستورات را برای پردازش شدن نگه میدارد اگر چه عملکردحافظه حافظه دارد اما از این واحد مجزا میباشدCPUارتباط نزدیکی با
اگر از نظر تاریخی نگاهی به حافظه داشته باشیم می بینیم حافظه های اولیه که به صورت لامپ های خلآ
بودند تحول وتکامل یافته و به صورت نیمه رساناهای جدید امروزی درآمده اند
حافظه ءنیمه رسانا
بسیاری از کامپینتر های جدید از حافظه های نیمه رسانا استفاده می کنند و علت آن هم مزایای چندی است
که این نوع حافظه ها دارند از جملهء این مزایا می توان به قابل اطمینان بودن ، فشردگی ، ارزانی و مصرف کم انرژی اشاره کرد
ارزانی این نوع حافظه ها به خاطر تولیدانبوه آن می باشد که موجب کاهش قیمت این نوع حافظه ها شده است
عیب این نوع حافظه هابی ثباتی آنهاست چون این حافظه های نیمه رسانا برای ارایهءداده ها به جریان الکتریسیتهء پیوسته ای نیازدارند اگر جریان الکتریسیته قطع شود داده ها نیز از دست می روند
حافظه ء نیمه رسانا از هزاران مدار کوچک که مسیرهایی برای عبور جریان الکتریسیته هستند ساخته شده است
این مدارها بر روی یک تراشه از جنس سیلیکون قرار گرفته اند یک نوع شناخته شده از طراحی نیمه نام وNیکی از نوع MOSFETدارد در این فن آوری نیمه رسانا از دو ترانزیستور نیمه هادیCMOSرسانا
استفاده شده است که بر روی یک تراشهء سیلیکون واحد جای می گیرند اینگونه از طراحیPودیگری نوع
حافظه انرژی آنها بسیار اندک است و از این رو برای کامپیوتر های قابل حمل مناسب می باشند
RAM ROM
یا حافظه دستیابی تصادفی تمام دستورات وداده های مربوط به بر نامه ای که در حال اجرا هستند را نگهداری می کندRAM
می تواند توسط نرم افزارهای کامپیوتر پاک و یا رو نویسی شود RAM
موجود بر روی کامپیوتر های شخصی را می توان با استفاده از تراشه های حافظه خارجی و یا با RAM
افزایش داد SIMM نصب حافظهء
:دارای دو نوع استRAMبرد مدار کوچکی است که محتوی تراشه های حافظه ای است معمولآSIMM
استاتیکRAM: SRAM
دینامیکRAM:DRAM
به طور پیوسته باز سازی شود والا محتوی خود را از دست می دهدو به همین CPUپویا باید توسط RAM
پویا یا دینامیک گفته می شود RAMدلیل است که به این نوع
دینامیک بخاطر کوچکی و RAMاستاتیک سریع تر است اما در کامپیوترهای شخصی از RAMاگر چه
ارزان تر بودن آن بیشتر استفاده میشود
:(حافظهء فقط خواندنی)ROM
این حافظه شامل برنامه هاو داده هایی است که توسط شرکت سازنده به طور دایمی در آن نوشته شده است این
حافظهROMداده ها می توانند خوانده ویا استفاده شونداما کاربر نمی تواند آنها را تغییر دهد در حقیقت
نامتغییر است
نام دارند میتوان دستورات موجود در داخل برخی ROM BURNERS البته با ابزار ویژه ای که
را تغییر دادROMاز تراشه های
می نامندتراشه های حافظهای فقط خواندنی با قابلیت بر نامه ریزی شدنPROMاین تراشه های تغییر دادنی را
حافظهء پنهان
حافظه پنهان مقدار کوچکی از حافظه بسیار سریع است که برای مقاصد بخصوصی چون افزایش سرعت داخلی داده ها و دستورات نرم افزاری طراحی شده است
این سیستم فرعی حافظه از مقادیر دادهای پر استفاده نسخه بردازی نی کند تا برای دسترسیسریع آماده باشند
که بیشتر مورد استفاده قرار می گیرند را ذخیره نموده و RAMحافظه ء پنهان محتویات مکانهایی از
و جاهایی را که این اقلام داده ای ذخیره می شوند را آدرس دهی می کنند
وقتی پردازنده به آدرسی در حافظه ارجاع می کند حافظه پنهان وارسی می کند که آیا چنین آدرسی را دارد یا نه اگر آدرسی داشته باشد داده به پردازنده برگشت داده می شودو اگر چنین آدرسی نداشته باشد یک دسترسی به حافظهء عادی اتفاق می افتد حافظه پنهانی دارای دو نوع داخلی و خارجی است حافظه پنهانی داخلی بر روی معماری خود پردازنده تعبیه شده است در حالی که خافظه پنهانی خارجی بر روی یک تراشه مجزا قرار دارد
سرعت و قدرت یک کامپیوتر
سرعت یکی از ویژگیهایی است که هنگام انتخاب کامپیوتر به آن توجه می شود البته قدرت نیز مشتق از سرعت و بسیاری از عوامل دیگر مانند اندازهء حافظه است
سرعت پردازش کامپیوتر
کامپیوتر های مختلف دارای سرعتهای پردازش متفاوتی هستند گاهی انجام یک دستور معین در یک کامپیوتر کند یک هزارم ثانیه طول می کشد در صورتی که همین دستور در کامپیوترهای سریع می تواند در یک میلینیوم ثانیه یا یک بیلینیوم ثانیه انجام شود و حتی در انواع خیلی سریعتر در یک تریلیونیم ثانیه انجام شود
سرعت ریز پردازنده ها را معمولآ بر اساس مگا هرتز نشان می دهندو منظور از آن تعداد دوری است که یک وسیله می توانددر ثانیه بچرخد یکی از واحدهای دیگری که برای سنجش سرعت کامپیوتر استفاده می استMIPSشود
معادل یک میلیون دستور در ثانیه است سومین واحدی که برای سنجش سرعت استفاده می شود MIPSهر
مگا فلاپ استو منظور از آن یک میلیون عمل اعشاری در ثانیه می باشد از این واحد برای سنجش توانایی کامپیوتر در انجام عملیات پیچیده ریاضی استفاده می شود
خطوط گذرگاهی
هر خط گذر گاهی مجموعه ای از مسیرهای الکترونیکی موازی است که به طور داخلی داده ها دا درون سیستم از یک مکان به مکان دیگری می برد مقدار دادهای که در هر بار می تواند حمل شود پهنای گذر گاه نام دارد پهنای گذر گاه نشان دهندهءتعداد مسیرهای الکترونیکی است
هر چه پهنای گذر گاه بیشتر باشد در نتیجه کامپیوتر قوی تر است وجود پهنای گذر گاه بزرگ می تواند مفاهیم زیر را به همراه داشته باشد
کامپیوتر در یک زمان معین می تواند داده های بیشتری را منتقل کند که این موجب بالا رفتن سرعت کامپیوتر می شودکامپیوتر می تواند از دستورات متنوع بیشترو بزرگتری پشتیبانی کند
وقتی جستجویی در یک موتور جستجوگر انجام و نتایج جستجو ارایه می شود، کاربران در واقع نتیجه کار بخش های متفاوت موتور جستجوگر را می بینند. موتور جستجوگر قبلا" پایگاه داده اش را آماده کرده است و این گونه نیست که درست در همان لحظه جستجو، تمام وب را بگردد. بسیاری از خود می پرسند که چگونه ممکن است گوگل در کمتر از یک ثانیه تمام سایت های وب را بگردد و میلیون ها صفحه را در نتایج جستجوی خود ارایه کند؟
گوگل و هیچ موتور جستجوگر دیگری توانایی انجام این کار را ندارند. همه آنها در زمان پاسخ گویی به جستجوهای کاربران، تنها در پایگاه داده ای که در اختیار دارند به جستجو می پردازند و نه در وب! موتور جستجوگر به کمک بخش های متفاوت خود، اطلاعات مورد نیاز را قبلا" جمع آوری، تجزیه و تحلیل می کند، آنرا در پایگاه داده اش ذخیره می نماید و به هنگام جستجوی کاربر تنها در همین پایگاه داده می گردد. بخش های مجزای یک موتور جستجوگر عبارتند از:
الف Spider- (عنکبوت)
اسپایدر یا روبوت (Robot)، نرم افزاری است که کار جمع آوری اطلاعات مورد نیاز یک موتور جستجوگر را بر عهده دارد. اسپایدر به صفحات مختلف سر می زند، محتوای آنها را می خواند، لینکها را دنبال می کند، اطلاعات مورد نیاز را جمع آوری می کند و آنرا در اختیار سایر بخش های موتور جستجوگر قرار می دهد. کار یک اسپایدر، بسیار شبیه کار کاربران وب است. همانطور که کاربران، صفحات مختلف را بازدید می کنند، اسپایدر هم درست این کار را انجام می دهد با این تفاوت که اسپایدر کدهای HTML صفحات را می بیند اما کاربران نتیجه حاصل از کنار هم قرار گرفتن این کدها را. index.html صفحه ای است که کاربران آنرا به صورت شکل (1) می بینند:
شکل 1- نمونه ای از صفحات وب که توسط مرورگرها نشان داده می شود.
اما یک اسپایدر آنرا چگونه می بیند؟
برای این که شما هم بتوانید دنیای وب را از دیدگاه یک اسپایدر ببینید، کافی است که کدهای HTML صفحات را مشاهده کنید. برای این کار در مرورگر مورد استفاده خود، مسیر نشان داده شده در شکل (2) دنبال کنید.
شکل 2- روش مشاهده کدهای HTML یک صفحه وب
با انجام این کار فایل متنی شکل (3) به شما نشان داده می شود:
شکل 3- کدهای HTML سازنده یک صفحه وب
آیا این دنیای متنی برای شما جذاب است؟
اسپایدر، به هنگام مشاهده صفحات، بر روی سرورها رد پا برجای می گذارد. شما اگر اجازه دسترسی به آمار دید و بازدیدهای صورت گرفته از یک سایت و اتفاقات انجام شده در آن را داشته باشید، می توانید مشخص کنید که اسپایدر کدام یک از موتورهای جستجوگر صفحات سایت را مورد بازدید قرار داده است. یکی از فعالیتهای اصلی که در SEM انجام می شود تحلیل آمار همین دید و بازدیدها است.
اسپایدرها کاربردهای دیگری نیز دارند، به عنوان مثال عده ای از آنها به سایت های مختلف مراجعه می کنند و فقط به بررسی فعال بودن لینک های آنها می پردازند و یا به دنبال آدرس ایمیل (Email) می گردند.
ب- Crawler (خزنده)
کراولر، نرم افزاری است که به عنوان یک فرمانده برای اسپایدر عمل می کند. آن مشخص می کند که اسپایدر کدام صفحات را مورد بازدید قرار دهد. در واقع کراولر تصمیم می گیرد که کدام یک از لینک های صفحه ای که اسپایدر در حال حاضر در آن قرار دارد، دنبال شود. ممکن است همه آنها را دنبال کند، بعضی ها را دنبال کند و یا هیچ کدام را دنبال نکند.
کراولر، ممکن است قبلا" برنامه ریزی شده باشد که آدرس های خاصی را طبق برنامه، در اختیار اسپایدر قرار دهد تا از آنها دیدن کند. دنبال کردن لینک های یک صفحه به این بستگی دارد که موتور جستجوگر چه حجمی از اطلاعات یک سایت را می تواند (می خواهد) در پایگاه داده اش ذخیره کند. همچنین ممکن است اجازه دسترسی به بعضی از صفحات به موتورهای جستجوگر داده نشده باشد.
شما به عنوان دارنده سایت، همان طور که دوست دارید موتورهای جستجوگر اطلاعات سایت شما را با خود ببرند، می توانید آنها را از بعضی صفحات سایت تان دور کنید و اجازه دسترسی به محتوای آن صفحات را به آنها ندهید. موتور جستجو اگر مودب باشد قبل از ورود به هر سایتی ابتدا قوانین دسترسی به محتوای سایت را (در صورت وجود) در فایلی خاص بررسی می کند و از حقوق دسترسی خود اطلاع می یابد. تنظیم میزان دسترسی موتورهای جستجوگر به محتوای یک سایت توسط پروتکل Robots انجام می شود. به عمل کراولر ، خزش (Crawling) می گویند.
ج- Indexer (بایگانی کننده)
تمام اطلاعات جمع آوری شده توسط اسپایدر در اختیار ایندکسر قرار می گیرد. در این بخش اطلاعات ارسالی مورد تجزیه و تحلیل قرار می گیرند و به بخش های متفاوتی تقسیم می شوند. تجزیه و تحلیل بدین معنی است که مشخص می شود اطلاعات از کدام صفحه ارسال شده است، چه حجمی دارد، کلمات موجود در آن کدامند، کلمات چندبار تکرار شده اند، کلمات در کجای صفحه قرار دارند و ... .
در حقیقت ایندکسر، صفحه را به پارامترهای آن خرد می کند و تمام این پارامترها را به یک مقیاس عددی تبدیل می کند تا سیستم رتبه بندی بتواند پارامترهای صفحات مختلف را با هم مقایسه کند. در زمان تجزیه و تحلیل اطلاعات، ایندکسر برای کاهش حجم داده ها از بعضی کلمات که بسیار رایج هستند صرفنظر می کند. کلماتی نظیر a ، an ، the ، www ، is و ... . از این گونه کلمات هستند.
د - DataBase (پایگاه داده)
تمام داده های تجزیه و تحلیل شده در ایندکسر، به پایگاه داده ارسال می گردد. در این بخش داده ها گروه بندی، کدگذاری و ذخیره می شود. همچنین داده ها قبل از آنکه ذخیره شوند، طبق تکنیکهای خاصی فشرده می شوند تا حجم کمی از پایگاه داده را اشغال کنند. یک موتور جستجوگر باید پایگاده داده عظیمی داشته باشد و به طور مداوم حجم محتوای آنرا گسترش دهد و البته اطلاعات قدیمی را هم به روز رسانی نماید. بزرگی و به روز بودن پایگاه داده یک موتور جستجوگر برای آن امتیاز محسوب می گردد. یکی از تفاوتهای اصلی موتورهای جستجوگر در حجم پایگاه داده آنها و همچنین روش ذخیره سازی داده ها در پایگاه داده است.
و- Ranker (سیستم رتبه بندی)
بعد از آنکه تمام مراحل قبل انجام شد، موتور جستجوگر آماده پاسخ گویی به سوالات کاربران است. کاربران چند کلمه را در جعبه جستجوی (Search Box) آن وارد می کنند و سپس با فشردن Enter منتظر پــاسخ می مانند. برای پاسخگویی به درخواست کاربر، ابتدا تمام صفحات موجود در پایگاه داده که به موضوع جستجو شده، مرتبط هستند، مشخص می شوند. پس از آن سیستم رتبه بندی وارد عمل شده، آنها را از بیشترین ارتباط تا کمترین ارتباط مرتب می کند و به عنوان نتایج جستجو به کاربر نمایش می دهد.
حتی اگر موتور جستجوگر بهترین و کامل ترین پایگاه داده را داشته باشد اما نتواند پاسخ های مرتبطی را ارایه کند، یک موتور جستجوگر ضعیف خواهد بود. در حقیقت سیستم رتبه بندی قلب تپنده یک موتور جستجوگر است و تفاوت اصلی موتورهای جستجوگر در این بخش قرار دارد. سیستم رتبه بندی برای پاسخ گویی به سوالات کاربران، پارامترهای بسیاری را در نظر می گیرد تا بتواند بهترین پاسخ ها را در اختیار آنها قرار دارد.
حرفه ای های دنیای SEM به طور خلاصه از آن به Algo ( الگوریتم) یاد می کنند. الگوریتم، مجموعه ای از دستورالعمل ها است که موتور جستجوگر با اعمال آنها بر پارامترهای صفحات موجود در پایگاه داده اش، تصمیم می گیرد که صفحات مرتبط را چگونه در نتایج جستجو مرتب کند. در حال حاضر قدرتمندترین سیستم رتبه بندی را گوگل در اختیار دارد.
می توان با ادغام کردن اسپایدر با کراولر و همچنین ایندکسر با پایگاه داده، موتور جستجوگر را شامل سه بخش زیر دانست که این گونه تقسیم بندی هم درست می باشد:
تذکر- برای سهولت در بیان مطالب بعدی هر گاه صحبت از بایگانی کردن (شدن) به میان می آید، مقصود این است که صفحه تجزیه و تحلیل شده و به پایگاه داده موتور جستجوگر وارد می شود.
برای آنکه تصور درستی از نحوه کار یک موتور جستجوگر داشته باشید داستان نامتعارف زیر را با هم بررسی می کنیم. داستان ما یک شکارچی دارد. او تصمیم به شکار می گیرد:
- کار کراولر:
او قصد دارد برای شکار به منطقه حفاظت شده ابیورد، واقع در شهرستان درگز (شمالی ترین شهر خراسان بزرگ) برود.
- پروتکل Robots :
ابتدا تمام محدودیت های موجود برای شکار در این منطقه را بررسی می کند:
فرض می کنیم او مجوز شکار یک اوریال (نوعی آهو) را از شکاربانی منطقه دریافت می کند.
- کار اسپایدر
او اوریالی رعنا را شکار می کند و سپس آنرا با خود به منزل می برد.
- کار ایندکسر
شکار را تکه تکه کرده، گوشت، استخوان، دل و قلوه، کله پاچه و ... آنرا بسته بندی می کند و بخش های زاید شکار را دور می ریزد.
- کار پایگاه داده
بسته های حاصل را درون فریزر قرار داده، ذخیره می کند.
- کار سیستم رتبه بندی
مهمانان سراغ او می آیند و همسرش بسته به ذائقه مهمانان برای آنها غذا طبخ می کند. ممکن است عده ای کله پاچه، عده ای آبگوشت، عده ای ... دوست داشته باشند. پخت غذا طبق سلیقه مهمانان کار سختی است. ممکن است همه آنها آبگوشت بخواهند اما آنها مسلما" بامزه ترین آبگوشت را می خواهند!
نکته ها:
» همانگونه که میدانید یک فیلد می تواند از چندین رکورد و یک جدول از چند فیلد تشکیل شود ، با توجه به این مطلب یک پایگاه داده هم میتواند دارای چندین جدول باشد . حال هر یک از این جدول ها می توانند اطلاعاتی را در خود ذخیره کنند که با جدول دیگری در ارتباط باشد یا این که هیچگونه ارتباطی را بین آنها قایل نشویم . برای مثال ما جدولی داریم مخصوص نگهداری اطلاعات فردی افراد و در جدول دیگری اطلاعات مالی این افراد را نگهداری میکنیم . بدون شک باید بین این دو جدول ارتباطی وجود داشته باشد تا ما تشخیص دهیم که کدام اطلاعات مربوط به کدام فرد است . وظیفه برقراری این ارتباط بر عهده فیلد کلید یا ( Primary Kay )است که خود ما آن را تعیین میکنیم .
» معمولا هر جدول یک فیلد موسوم به فیلد کلید KeyField دارد که از آن برای حفظ یکپارچگی پایگاه داده و برقراری رابطه با جدول های دیگر استفاده می کند . هر جدول می تواند فقط یک فیلد کلید یا کلید اولیه داشته باشد ، ولی می تواند دارای چند فیلد خارجی Foreign Key باشد . نحوه نمایش داده ها را فیلد کلید اصلی کنترل می کند و از فیلد خارجی برای مرتب کردن جدول با جدول های دیگر استفاده می شود .
» برای ایجاد ارتباط بین جدول ها در محیط Access شما باید از منوی Tools گزینه Relationships را انتخاب کنید و پس از انتخاب جدول ها خواهید توانست بین آنها توسط فیلدهای کلید ارتباط با معنی ایجاد کنید .
_ ما توسط فیلد کلید می توانیم انواع روابط زیر را بین جدول ها ایجاد کنیم :
» رابطه یک به یک : در این نوع ارتباط فیلدی در جدول اول یا اصلی به عنوان فیلد کلید تعریف می شود و با فیلد دیگری که در جدول بعدی یا فرعی به عنوان فیلد کلید تعریف شده است ارتباط داده می شود . در این صورت اطلاعات موجود در فیلد جدول فرعی باید کاملا مشابه اطلاعات و داده های موجود در فیلد کلید اصلی اصلی باشد . یعنی برای هر رکورد موجود در فیلد کلید اصلی باید رکورد متناظر با آن در فیلد کلید فرعی موجود باشد . و نمی تواند رکورد تکراری در هر یک از جدول ها وجود داشته باشد .
» رابطه یک به چند : در این نوع ارتباط فیلد اشاره گر می تواند به چند رکورد در جدول های دیگر اشاره کند یا این که برای هر رکورد موجود در فیلد کلید اصلی چند رکورد متناظر با آن در جدول های دیگر موجود باشد .
در این حالت نباید فیلد متناظر با فیلد کلید اصلی در جدول دیگر به عنوان فیلد کلید انتخاب گردد . بلکه باید فقط نوع فیلدها برابر باشد . برای مثال در پایگاه داده مخصوص یک آموزشگاه هر دانش آموز میتواند چندین دوره یا درس را برای گذراندن انتخاب کند .
نکته : ارتباط یک به چند مهمترین و پر کاربرد ترین ارتباط موجود در میان جدول ها محسوب میشود .
» رابطه چند به چند : به دلیل این که این نوع ارتباط پیچیدگی زیادی داشته و در مواقع بسیار استثنایی از آن استفاده می شود و خوب ، البته من هم آشنایی چندانی یا بهتر بگم هیچ آشنایی با این نوع رابطه ندارم از شرح آن خود داری میکنم . امیدوارم که منو درک کنید .
خلاصه مطلب : ساخت برنامه هایی که از پایگاه داده در سطح گسترده ای استفاده می کنند بدون ایجاد ارتباط بین جدول ها توسط فیلد های کلید امکان پذیر نیست .
» همانگونه که میدانید یک فیلد می تواند از چندین رکورد و یک جدول از چند فیلد تشکیل شود ، با توجه به این مطلب یک پایگاه داده هم میتواند دارای چندین جدول باشد . حال هر یک از این جدول ها می توانند اطلاعاتی را در خود ذخیره کنند که با جدول دیگری در ارتباط باشد یا این که هیچگونه ارتباطی را بین آنها قایل نشویم . برای مثال ما جدولی داریم مخصوص نگهداری اطلاعات فردی افراد و در جدول دیگری اطلاعات مالی این افراد را نگهداری میکنیم . بدون شک باید بین این دو جدول ارتباطی وجود داشته باشد تا ما تشخیص دهیم که کدام اطلاعات مربوط به کدام فرد است . وظیفه برقراری این ارتباط بر عهده فیلد کلید یا ( Primary Kay )است که خود ما آن را تعیین میکنیم .
» معمولا هر جدول یک فیلد موسوم به فیلد کلید KeyField دارد که از آن برای حفظ یکپارچگی پایگاه داده و برقراری رابطه با جدول های دیگر استفاده می کند . هر جدول می تواند فقط یک فیلد کلید یا کلید اولیه داشته باشد ، ولی می تواند دارای چند فیلد خارجی Foreign Key باشد . نحوه نمایش داده ها را فیلد کلید اصلی کنترل می کند و از فیلد خارجی برای مرتب کردن جدول با جدول های دیگر استفاده می شود .
» برای ایجاد ارتباط بین جدول ها در محیط Access شما باید از منوی Tools گزینه Relationships را انتخاب کنید و پس از انتخاب جدول ها خواهید توانست بین آنها توسط فیلدهای کلید ارتباط با معنی ایجاد کنید .
_ ما توسط فیلد کلید می توانیم انواع روابط زیر را بین جدول ها ایجاد کنیم :
» رابطه یک به یک : در این نوع ارتباط فیلدی در جدول اول یا اصلی به عنوان فیلد کلید تعریف می شود و با فیلد دیگری که در جدول بعدی یا فرعی به عنوان فیلد کلید تعریف شده است ارتباط داده می شود . در این صورت اطلاعات موجود در فیلد جدول فرعی باید کاملا مشابه اطلاعات و داده های موجود در فیلد کلید اصلی اصلی باشد . یعنی برای هر رکورد موجود در فیلد کلید اصلی باید رکورد متناظر با آن در فیلد کلید فرعی موجود باشد . و نمی تواند رکورد تکراری در هر یک از جدول ها وجود داشته باشد .
» رابطه یک به چند : در این نوع ارتباط فیلد اشاره گر می تواند به چند رکورد در جدول های دیگر اشاره کند یا این که برای هر رکورد موجود در فیلد کلید اصلی چند رکورد متناظر با آن در جدول های دیگر موجود باشد .
در این حالت نباید فیلد متناظر با فیلد کلید اصلی در جدول دیگر به عنوان فیلد کلید انتخاب گردد . بلکه باید فقط نوع فیلدها برابر باشد . برای مثال در پایگاه داده مخصوص یک آموزشگاه هر دانش آموز میتواند چندین دوره یا درس را برای گذراندن انتخاب کند .
نکته : ارتباط یک به چند مهمترین و پر کاربرد ترین ارتباط موجود در میان جدول ها محسوب میشود .
» رابطه چند به چند : به دلیل این که این نوع ارتباط پیچیدگی زیادی داشته و در مواقع بسیار استثنایی از آن استفاده می شود و خوب ، البته من هم آشنایی چندانی یا بهتر بگم هیچ آشنایی با این نوع رابطه ندارم از شرح آن خود داری میکنم . امیدوارم که منو درک کنید .
خلاصه مطلب : ساخت برنامه هایی که از پایگاه داده در سطح گسترده ای استفاده می کنند بدون ایجاد ارتباط بین جدول ها توسط فیلد های کلید امکان پذیر نیست .
هش (Hash, Hash Code, Digest, Message Digest هم نامیده می شود) را می توان به صورت اثر انگشت دیجیتالی یک داده در نظر گرفت. با این روش شما می توانید رشته ای اندازه-ثابت (fixed length) از یک داده به دست آورید که با روش های ریاضی به صورت "یک طرفه" رمزنگاری شده است. کشف رشته اصلی از رشته هش آن (عملیات معکوس) به صورت کارا تقریبا غیر ممکن است. نکته دیگر اینکه هر داده یک رشته هش شده کاملا منحصر به فرد ایجاد می کند( احتمال یکی شدن رشته های هش دو رشته متفاوت در الگوریتم MD5 یک در 3.4028236692093846346337460743177e+38 می باشد.. این خواص ، هش کردن را به روشی کارا و ایده آل برای ذخیره سازی کلمات عبور در برنامه های شما تبدیل می کند. چرا؟ برای این که حتی اگر یک نفوذگر(Hacker) بتواند به سیستم و بانک اطلاعاتی شما نفوذ کند و بخشی از اطلاعات شما را به دست آورد (شامل کلمات عبور هش شده) نمی تواند کلمات عبور اولیه را از روی آن ها بازیابی کند.