برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

غیر فعال کردن CD Burning ( در ویندوز XP )

از این تنظیمات برای غیر فعال کردن ویژگی داخلی CD Burning ویندوز استفاده می شود. رجیستری را باز کرده و کلید زیر را در آن پیدا کنید . یک مقدار DWORD جدید ایجاد کرده و نام "NoCDBurning" را به آن بدهید. سپس مقدار آن را برابر با مقادیر زیر قرار دهید . تعداد اسناد اخیری کنید که مایل به نشان دادن آنها هستید . از رجیستری خارج شوید و برای اعمال تغییرات مجددا سیستم را راه اندازی نمائید . (Default) REG_SZ (value not set) NoCDBurning REG_DWORD 0x00000001 (1) HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion... Registry Settings User Key: [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies Explorer] System Key: [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPolicies Explorer] Value Name: NoCDBurning Data Type: REG_DWORD (DWORD Value) Value Data: (0 = Allow CDR, 1 = Disable CDR) توجه: تغییر در رجیستری می تواند سبب ایجاد مشکلات جدی در ویندوز شود و حتی در برخی مواقع کاربران را وادار به نصب مجدد سیستم عامل می کند. از این رو به شما کاربر محترم توصیه می کنیم در صورتی که از توانایی و تجربه لازم و نیز اطلاعات کافی در خصوص ویندوز برخوردارنیستید، حتی الامکان از بکار بردن این دستورات خودداری نمائید. شایان ذکر است که ما هیچ تعهدی نسبت به رفع مشکلات حاصله نخواهیم داشت.

آموزش زبان برنامه نویسی سی++

  • تاریخجه زبان برنامه نویسی C++

در سال 1967 شخصی بنام آقای "مارتین ریچاردز" برای نوشتن سیستم عامل و طراحی کامپایلر زبان جدیدی بنام BCPL طراحی نمود.

سه سال بعد، یعنی در سال 1970، "کن تامپسون" با افزودن ویژگی های جدیدی به زبان BCPL زبان جدیدی طراحی نمود و نسخه های اولیه سیستم عامل unix را با آن طراحی نمود. او این زبان را B نامید.

BCPL و  B هر دو از زبانهای بدون نوع بودند. به همین جهت بررسی یک عنصر داده ای، دلیل وظیفه سنگینی بر عهده ی برنامه نویس بود. در این زبان هر عنصر داده ای یک کلمه از حافظه، معادل 2 بایت، را اشغال می کرد.

دو سال بعد، یعنی در سال 1972، آقای "دنیس ریچی" زبان جدیدی را بر پایه زبان B طراحی نمود. از آنجاییکه این زبان پس از زبان B طراحی شده بود، زبان C نام گرفت. زبان C بسیاری از ویژگی ها و مفاهیم زبانهای BCPL و B را دارا بود و ویژگی های دیگری، از جمله انواع داده ای، را نیز به آنها افزوده بود.

زبان C مستقل از سخت افزار است، به همین دلیل با طراحی خوب و دقیق نرم افزار می توان برنامه هایی نوشت که دارای قابلیت حمل در اکثر کامپیوترها باشند.

قدرت زبان C باعث شد که شرکت های مختلفی در صدد طراحی کامپایلرهای C برآیند.

این موضوع مشکل جدیدی برای طراحان برنامه هایی بود که می خواستند نرم افزارهای قابل حملی بنویسند که روی کامپیوترهای مختلفی اجرا

 شود.  19 سال پس از طراحی زبان C، "کمیته استاندارد ملی آمریکا" ،ANSI ، نسخه ی استاندارد زبان C را تصویب نمود.

            گامی به عقب :

در اواخر دهه 1970 هنگامی که "بیارنه استراس تروپ" بر روی تز دکترایش در دانشگاه کمبریج انگلستان کار می کرد مجبور بود برنامه های خود را به زبان Simula بنویسد. Simula از Algol مشتق شده و برای اولین بار مفاهیم کلاس به عنوان اشیا داده ای دراین زبان (Simula) مطرح شده بود. کلاس در Simula، جرقه ی طراحی و ساخت کامپایلر C++ را در ذهن "بیارنه" شعله ور نمود. او پس از مهاجرت از انگلستان به آمریکا و کار در شرکت AT&T تعمیم و گسترش زبان C را آغاز کرد. زبان جدید در سال 1980 طراحی شده و در 1982 با استقبال فراوانی روبرو شده بود.

این زبان با عناوین متفاوتی از جمله "New C" و "C With Classes" و "C84" مشهور بود! یکی از همکاران "استراس تروپ" بنام Rick Mascitti نام C++ را برای آن برگزید.

17 سال بعد از طراحی C++ یعنی در نوامبر سال 1997 C++  نیز استاندارد شد.

C++  زبانی دو رگه است! چنانچه این قابلیت را دارد که هم به صورت "پیمانه ای" و هم بصورت "شی گرا" نرم افزارهای قابل اعتمادی را ایجاد نماید. چند سال بعد زبان جاوا نیز بر پایه ی C و C++ طراحی شد.

 

 

·         کتابخانه استاندارد C++

برنامه های  C++از قطعاتی به نام کلاس ها و توابع تشکیل می شود. شما در عین حال که برای برنامه نویسی به این قطعات از پیش ساخته شده نیاز دارید، می توانید این قطعات را نیز خودتان بسازید.

"کتابخانه استاندارد C++" دارای کلاس های و توابع زیادی می باشد که مجموعه ای غنی، جهت برنامه نویسی را در اختیار برنامه نویسان قرار می دهد.

بنابراین برای یادگیری زبان C++ باید به دو امر مهم همت گماشت :

1-      یادگیری ساختار و نحو زبان C++

2-     یادگیری کلاس ها و توابع از پیش ساخته شده، در "کتابخانه ی استاندارد C++".

 

تذکر : برای آموختن دقیقتر این توابع و کلاس ها می توانید به کتاب The Draft Standard C++ Library مراجعه نمایید.

 

 

·             پایه و اساس یک محیط نمونه برنامه نویسی C++

طراحی برنامه در C++ اغلب شامل 5 مرحله می باشد :

1-                ویرایشگر        : شامل تایپ کدهای برنامه در ویراستار C++ و ذخیره بر روی هارد دیسک با پسوند *.C و یا *C++. [Editor]

2-               پیش پردازنده : افزودن فایل های متنی مورد نیاز، در فایلی که قرار است کامپایل شود. [PreProcessor]

3-              کامپایلر           : ترجمه ی کدهای برنامه به زبان ماشین توسط کامپایلر و ساختن فایل *Obj. [Compiler]

4-              پیوند دهنده    : ساختن فایل اجرایی (*.Exe) و افزودن تمام چیزهایی که برای اجرای برنامه بدون حضور به کامپایلر لازم است.[Linker]

5-              بار کننده          : انتقال کدهای زبان ماشین از روی دیسک سخت در حافظه ی اصلی کامپیوتر. [Loader]

 

تمامی این قسمت ها در جای مناسب مفصلا توضیح داده خواهند شد.

 

عملگرها و متغییرها

·        عملیات ریاضی :

در زبان C++ بیش از هفتاد عملگر وجود دارد!

تعدادی از این عملگرها ماهیت ریاضی دارند. در این قسمت به بررسی این عملگرها خواهیم پرداخت.

جدول زیر بیانگر قابلیت عملگرهای اصلی ریاضی می باشد.

 

 

 

·        تصمیم گیری : عملگرهای مقایسه ای !

تعدادی از عملگرهای زبان C++ مربوط به عملگرهای مقایسه ای می شود. این نوع عملگرها تقریبا در تمام زبانهای برنامه نویسی یافت می شوند. جدول زیر بیانگر قابلیت عملگرهای مقایسه ای می باشد :

 

 

·        عملگرهای درج در جریان و استخراج از جریان:

در زبان C++  دو عملگر خاص وجود دارند که جهت کنترل صفحه نمایش بکار می روند.

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

 

 

·        انواع داده ای و تعریف متغییر :

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

در C++ چهار نوع اصلی وجود دارد :

 

 تذکر : برای کسب اطلاعات بیشتر در مورد انواع متغییرها، می توانید به راهنمای کامپایلر خود مراجعه نمایید.

 

تعریف کردن یک متغییر در زبان C++ بسیار ساده تر از آن است که فکرش را می کنید!

ابتدا نام نوع را می نویسیم و سپس نام متغییر !

دقت کنید :

int a ;

float f ;

double d ;

char ch ;

چهار متغییر به ترتیب از نوع «اعداد صحیح»، «اعداد اعشاری»، «اعدا حقیقی بزرگ» و «کاراکتری» تعریف شده است.

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

 

 

ساختار یک برنامه ی C++

·        در حاشیه  C++

در صورتی که یک برنامه ی C++ به طرز صحیحی طراحی و پیاده سازی شود، قابلیت خوانایی آن با برنامه هایی که با سایر زبان ها نوشته می شوند قابل مقایسه نیست! شاید مهمترین مزیت C++ نسبت به C و سایر زبانهای برنامه نویسی خاصیت شی گرایی آن باشد. این ویژگی که انقلابی در عرصه ی تولید نرم افزار تولید کرده است، در عین سادگی برای مبتدیان پیچیدگی خاصی دارد. شاید اصلی ترین دلیل پیچیدگی، همان سادگی اش باشد!

برای کسانی که با زبان C++ آشنایی ندارند، علائم بکار رفته در این زبان شاید عجیب و حتی خنده دار باشد!

نظر شما چیست؟

#include <iostream.h>

void mian()

{

          cout << "Learning The Art Of Object Oriented Programming In  www.yosafy.blogsky.com" ;

};

حقیقت این است که برای یادگیری C++ باید ابتدا C را آموخت. در واقع می توان گفت که :

C++   =   C + Classes

با یادگیری زبان C و سپس افزودن مباحث مربوط به کلاس ها به معلومات خویش می توان به C++ مسلط شد. برای یادگیری زبان قدرتمند visual C++ ، به ناچار باید با معلومات جامع و کاملی از C++ و ترجیجا یک زبان ویژوال داشت و سپس سراغ این اعجوبه قرن رفت.

 

 

·             بررسی ساختار یک برنامه به زبان C++

در این قسمت می خواهیم ساختار عمومی یک برنامه به زبان C++ را بیاموزیم.

قطعا با معلوماتی که تا به اینجا آموختید درصد قابل قبولی از ساختار یک برنامه ی C++ را درک خواهید کرد:

 

1)      #inlcude <iostream.h>

 

2)      Functions Prototype

 

3)      void mian()

4)      {

5)                The Programme Body (Declaration Variable, Call Functions & Objects)

6)      };

 

7)      Implementation Functions

 

تذکر : شماره گذاری ها برای درک ساده تر می باشد. بدیهی است که در یک برنامه شماره گذاری خطوط منجر به خطای دستوری(Syntax Error) خواهد شد.

حال به بررسی مختصر هر قسمت می پردازیم :

#include <iostream.h>

این خط (که اولین خط برنامه ی C++ هم می باشد) در واقع یک دستور پیش پردازنده است!

در واقع تمام خطوطی که با # شروع می شوند یک دستور پیش پردازنده هستند.

این دستور به "پیش پردازنده" می گوید که :

"محتویات فایل iostream.h را به برنامه اضافه کن".

در داخل فایل iostream.h دستورات مربوط به ورودی و خروجی قرار دارد. در واقع اگر برنامه ما بخواهد از دستورات ورودی و خروجی استفاده نماید باید ابتدا فایل iostream.h را به کمک دستور پیش پردازنده به بدنه برنامه اضافه نماید و آنگاه بتواند از توابع درون آن استفاده نماید.

این سبک عملکرد دقیقا مانند به کار بردن توابع API در زبان ویژوال بیسیک می باشد. در زبان ویژوال بیسیک ابتدا باید به مفسر بیسیک بگوییم که از کدام فایل های DLL می خواهیم استفاده نماییم پس از آن است که می توانیم در بدنه برنامه از توابع آن فایل DLL استفاده کنیم.

نکته : به فایل هایی مثل iostream.h  «سرفایل» یا «هدر فایل» می گویند.

 

void mian()

مطمئنا در تمام برنامه های C++  شاهد این خط خواهیم بود.

تعریف اشیاء داده ای، تعریف متغییرها، نوشتن دستورات برنامه و ... همگی در زیر این عبارت تعریف می شوند.

یک برنامه C++ از فراخوانی متدهای کلاس ها و احیانا فراخوانی توابع ایجاد می شود. همگی این اعمال در این قسمت از برنامه انجام می شود. به این قطعه از برنامه، «تابع اصلی» گفته می شود.

توضیحات کاملتر در این مورد را به قسمت «توابع» واگذار می کنیم.

 

توضیحی پیرامون علامت های "{" و "}" : زبان C++ ،مانند بسیاری از زبانهای برنامه نویسی، از بلاک بندی کدها استفاده می نماید. یک بلوک از برنامه دارای ویژگی های خاص خود می باشد که از حوصله ی بحث ما خارج است(برای کسب اطلاعات بیشتر در مورد بلوک بندی در زبانهای برنامه نویسی می توانید به کتاب «طراحی و پیاده سازی زبانهای برنامه سازی» نویسنده : ترنس پرات، رجوع نمایید.)

بلوک بندی در زبان پاسکال با کلمات کلیدی begin و end ساخته می شود. در زبان ویژوال بیسیک کدهای بین private sub و end sub و همچنین کدهای نوشته شده بین if  و end if در واقع یک بلوک تشکیل داده اند. در زبان C++ نیز یک بلوک با "}" آغاز گشته و با "{"  خاتمه می یابد. تمام توابع، از جمله تابع اصلی، باید در یک بلوک ساخته شوند.

            تذکر : توضیحات بیشتر در مورد بلوک بندی و همچنین خطوط 2 و 7 را به قسمت سوم این سلسله مقالات یعنی "توابع" موکول می کنیم.

            تذکر : در پایان هر خط از برنامه C++ باید یک یک علامت سمی کولن «;» گذاشته شود.

 

 

·             آغاز برنامه نویسی

به خط مقدم خوش آمدید!

بد نیست کم کم شروع کنیم:

#include <iostream.h>

void mian()

{

          cout << "Learning The Art Of Object Oriented Programming In   www.yosafy.blogsky.com" ;

};

 

در واقع تنها دستوری که باید توضیح داده شود عبارت cout می باشد!

 

cout << "Learning The Art Of Object Oriented Programming In  www.yosafy.blogsky.com" ;

اولین دستور خروجی!

همانطور که در قسمت «عملگرها» گفته شد این قطعه کد، عبارت مقابلش را در صفحه نمایش چاپ می کند.

نحو این دستور چنین است :

cout << "عبارتی که باید در صفحه نمایش چاپ شود"   ;

تذکر : در پایان هر خط از خطوط زبان C++ باید یک سمی کولن «;» گذاشته شود.

البته از این دستور به طور متوالی نیز می توان استفاده نمود. دقت کنید:

cout  << "Learning The Art Of " << "Object Oriented Programming " << "In " << " www.yosafy.blogsky.com"  ;

 

 

 

·       گامی فراتر :

قصد داریم برنامه دیگری بنویسیم و از آموخته هایمان هر چه بیشتر استفاده نماییم.

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

 

#include <iostream.h>

void main()

{

          int a;

          int b;

          cout<< "Please Enter A Number : " ;

          cin>> a ;

          cout<< "Please Enter Next Number : " ;

          cin>>b ;

 

          if (a>b)

                   cout<< "a > b";

          else if (a

                   cout<< "a

          else

                   cout << "a=b";

};

با ساختار شرطی if بعدها آشنا خواهید شد. با توجه به آشنایی که با سایر زبانهای برنامه نویسی دارید انتظار می رود که بتوانید عملکرد برنامه بالا را درک نمایید!

راستی برنامه بالا چه کاری انجام می دهد؟

 

 

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

 


 

آشنایی با مفاهیم پایگــاه داده هـــا

مفاهیم مبنایی :
مفهوم پایگاه داده ها : پایگاه داده ها در ساده ترین وجه به مثابه مخزنی میماند که اطلاعات و داده ها به صورت منسجم و احتمالا ساخت یافته در آن نگهداری میشود . این مخزن میتواند یک فایل متنی یا باینری ساده باشد .
همزمان با پیدایش تکنولوژی ذخیره سازی اطلاعات و فایلها ، پایگاه داده ها نیز متولد شد و همزمان با رشد تکنولوژی ذخیره و بازیابی اطلاعات  و سیستم فایلینگ  ، پایگاه داده ها نیز به صورت موازی و با آن رشد کرد . پایگاه داده ها از زمان تولد تا کنون پنج نسل را سپری کرده است .
همزمان با گسترش نیاز کاربران برای ذخیره سازی و بازیابی اطلاعات برنامه نویسان متعددی اقدام به ایجاد برنامه هایی  با اهداف و کاربردهای متفاوت کردند . صرف نظر از برنامه هایی که از نظر کاربرد کاملا متفاوت بودند برنامه هایی نیز وجود داشتند که ماهیت و کاربرد یکسانی داشتند ولی توسط برنامه نویسان متعدد ایجاد شده بودند . بهترین مثال برای این مطلب دفـتـــرچـــه تلـفــن  میباشد . چندین و چند نسخه متفاوت دفترچه تلفن موجود بود که همه آنها امکانات کاملا مشابهی داشتند ولی الگوریتمها و روشهای برنامه نویسی آنها کاملا متفاوت بود . مهمترین وعمده ترین تفاوتهای که بین این برنامه ها وجود داشت در زیر ذکر شده اند :
  • نوع و ماهیت فایلی که اطلاعات در آن ذخیره میشد ( بعضیهااز نوع باینری و بعضی TXT و... بودند )
  • الگوریتم و روش ذخیره سازی داده ها در فایل
  • نام توابع ( فرضا تابع مربوط به جستجو  در هر برنامه نامی  مطابق با سلیقه برنامه نویس داشت )
تمام این برنامه ها در واقع نوعی بانک اطلاعاتی هستند که برای اهداف خاص ایجاد شده اند . لذا به منابع داده در هر برنامه به جز در همان برنامه در جای دیگری کاربرد نداشت و به هیچ درد دیگری نمیخورد حتی برنامه هایی که مشابه بودند ( مانند دفترچه تلفن ) نیز ( بنا به دلایل ذکر شده ) نمیتوانستند با هم تبادل اطلاعات داشته باشند و اگر میخواستیم از فایل حاوی داده های یک دفترچه تلفن در دفترچه تلفن دیگری استفاده کنیم هیچ راهی وجود نداشت . در ضمن در تمام این برنامه ها به جز فایل و برنامه نوشته شده توسط برنامه نویس هیچ چیز دیگری وجود نداشت که بتواند امنیت داده ها را تضمین کند . و به طور کلی داده ها را کنترل و مدیریت کند . مشکل دیگری که این برنامه ها داشتند این بود که این برنامه ها تنها قابلیت این را داشتند که یک کاربر از آنها استفاده کند و استفاده به صورت اشتراکی از منابع داده ها امکان پذیر نبود .
 با گسترش روز افزون اطلاعات و نیاز روز افزون کاربران برای ذخیره و بازیابی اطلاعات و دسترسی سریع به اطلاعات و لزوم تامین امنیت اطلاعات ،  لازم بود برنامه های تخصصی و ویژه ای برای این منظور ایجاد شوند .  لذا چندین شرکت تصمیم به طراحی و تولید چنین برنامه هایی را گرفتند که از شرکتهای IBM  و  Microsoft  و چند شرکت دیگر به عنوان پیشگامان این امر میتوان نام برد .
 برنامه های مذکور پایگاه داده ها نام گرفتند . شرکتهای مذکور باید  برنامه هایی را ایجاد میکردند که قابلیت استفاده برای مصارف گوناگون را داشته باشد . در ضمن این برنامه ها باید دارای قسمتی باشند که به عنوان واسط بین برنامه کاربردی و فایلها (منابع داده ) قرار بگیرد و عملیاتهای مربوط به ایجاد ، حذف و تغییر و ... را  در منابع داده را کنترل و مدیریت کند . این برنامه واسط را DBMS  نامیدند .

DBMS  اختصار (DATABASE  MANANGMENT  SYSTEM )  میباشد که معنای لغوی آن سیستم مدیریت پایگاه داده یا سیستم مدیریت داده ها میباشد .
باید خدمتتون عرض کنم که بزرگترین جهشی که پایگاه داده ها در راستای رشد و تکامل داشت مربوط به همین قسمت یعنی تولید و تکامل  DBMS  میباشد . گفتیم که وظیفه DBMS  این است که بین برنامه کاربردی و منابع داده ها قرار بگیرد و کلیه عملیاتهای مربوط به( ایجاد ، تغییر ، حذف و .... ) منابع داده ها را کنترل و مدیریت کند . کنترل و مدیریت منابع داده ها بسیار کلی و میباشد و اگر بخواهیم منظور از کنترل و مدیریت را کامل شرح دهیم باید ساعتها وقت صرف کنیم و دهها  صفحه مطلب بنویسیم که قطعا در این مجموعه نخواهد گنجید ضمن آنکه این مطالب کاربردی نیط نیستند و تنها جنبه اطلاعاتی دارند  لذا تنها چند نکته مهم را ذکر میکنم و در صورتی که علاقمند بودید بیشتر بدانید میتوانید به کتابهای موجود در این زمینه مراجعه فرمایید .
منظور از کنترل و مدیریت :

  • مصون کردن برنامه های کاربردی در قبال تغییرات در سخت افزار ذخیره سازی .
  • مدیریت رکوردهای سرریز که پس از لود اولیه باید در فایل وارد شوند .
  • ایجاد فایل با ساختارهای گوناگون
  • فراهم کردن امکاناتی برای دستیابی مستقیم و ترتیبی به رکوردها و فیلدها .
  • جدا کردن ساختار فیزیکی و منطقی فایلها از یکدیگر
  • تامین ایمنی و حفاظت داده ها 
  • جلوگیری از تکرار ذخیره سازی داده ها ( تاحدی )
  • فراهم کردن امکاناتی برای پردازش بلادرنگ (real time ) بسته به نوع سیستم عامل
  • تامین صحت داده های ذخیره شده ( تاحدی )
  • فراهم کردن امکاناتی برای بازیابی بکمک چند کلید
  • فراهم کردن امکاناتی برای استفاده چند کاربر به صورت همزمان از منبع داده و کنترل آن
  • کنترل و مدیریت مسائل مربوط به همزمانی و سطح دسترسی کاربران به منبع داده ها
  • و .....

با توجه به موارد ذکر شده شرکتها سیستمهای گوناگونی را به این منظور طراحی و تولید کردند که هر سیستم دارای یک رابط گرافیکی برای گرفتن و انجام فرامین کاربر و یک DBMS  بود که تمام مطالب ذکر شده در بالا در این سیستمها لحاظ شده بودند . علاوه بر این دو دفترچه ای نیز به همراه سیستم ارائه میشد که حاوی نام و کاربرد توابع موجود در سیستم بود . برنامه نویسان در صورت نیاز میتوانستند از این توابع در برنامه های خود استفاده کنند و دستوری را به سیستم ارسال کنند . رابطه این توابع با سیستم مورد نظر دقیقا مانند رابطه توابع API  موجود در ویندوز و خود ویندوز میباشد . اندک زمانی پس از تولید این سیستمها کنسرسیومی تشکیل شد که  اقدام به تهیه استانداردهایی در زمینه تولید نرم افزارهای بانک اطلاعاتی کرد و از آن پس تمام شرکتهای تولید کننده ملزم به رعایت این استانداردها بودند . یکی از این تصمیمات و استانداردها یکسان سازی نام توابع در تمام سیستمها بود . دیگر آنکه قرار بر آن شد که یکسری کلمات و عبارات ویژه درنظر گرفته شوند که هر یک معرف عملیاتی ویژه باشند و برنامه ای به تمام سیستمها اضافه شود که وظیفه آن دریافت ، تفسیر و اجرای این عبارات (دستورات ) باشد  . مجموعه این کلمات و برنامه ای که وظیفه تفسیر آنها را داشت ، منجر به تولید زبان مشترکی برای بانکهای اطلاعاتی شد  . این زبان برنامه نویسی زبان پایه تمام بانکهای اطلاعاتی میباشد که آن را T-SQL مینامند که اختصار  (Transact Structured Query Language ) میباشد .
در واقع  وظیفه این کلمات و عبارات فراخوانی توابع موجود در سیستم میباشد . دستورات  زبانSQL  به دوبخش تقسیم میشود :
  • دستورات مربوط به کار با داده ها ( DML)
  • دستورات مربوط به تعریف داده ها ( DDL )
تمامی سیستمهای ارائه شده در  DML  دستورات کاملا مشابهی را دارا میباشند اما در بخش DDL دارای تفاوتهای جزئی میباشند . در ضمن سیستمهای مختلف ارائه شده علاوه بر دستوراتی که کار یکسانی را انجام میدهند ممکن است دستورات اضافه تری نیز داشته باشند که وظیفه این دستورات اضافی انجام عملیاتهای ترکیبی میباشد . جلوتر بیشتر با این زبان برنامه نویسی و دستورات آن آشنا خواهیم شد و در مثالهای مختلف از دستورات مختلف این زبان استفاده خواهیم کرد .

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

از مجموعه مطالب ذکر شده در بالا فهمیدیم که :

با گسترش روز افزون اطلاعات و نیاز کاربران به ذخیره و بازیابی اطلاعات سیستمهایی طراحی شدند که قابلیت استفاده برای مصارف گوناگون  را دارا میباشند . همچنین  این برنامه ها امکان استفاده اشتراکی از منابع داده را نیز فراهم کردند . در این سیستمها ما به هر فایلی که اطلاعاتی با ساختار معین  در آن قرار گرفته  است را  منبع داده  مینامیم. این سیستمها به صورت تخصصی برای ذخیره و بازیابی اطلاعات طراحی و ساخته شده اند از این رو به این سیستمها پایگاه داده ها یا همان بانک اطلاعاتی میگوییم . تمامی پایگاه داده های موجود دارای بخشی با عنوان DBMS  یا سیستم مدیریت داده ها  میباشند که به عنوان واسط مابین برنامه کاربردی و منبع داده قرار میگیرد و کلیه موارد مربوط به ذخیره و بازیابی لطلاعات را به صورت خودکار کنترل میکند . این سیستم همچنین مسئول تامین امنیت داده های ذخیره شده نیز میباشد . سیستمهای ارائه شده  محصول هر شرکتی که باشند از استاندارد واحدی برای ذخیره و بازیابی اطلاعات تبعیت میکنند . در ضمن تمامی پایگاه داده های موجود دارای یک زبان پایه و مشترک با نام  T-SQL  مبباشند  که برنامه نویسان  در اکثر موارد بدون آنکه نوع بانک مورد نظر مهم باشد میتوانند از این زبان برای انجام امور بانکی در برنامه های خود  استفاده کنند . علاوه بر مطالب ذکر شده باید خدمتتون عرض کنم که بانکهای اطلاعاتی دارای مزیتهای بینظیری میباشند که این مزیتها به تدریج به این تکنولوژی اضافه شدند .از جمله این مزیتها  میتوان کنترل متمرکز روی تمام داده هارا نام برد که یکی از مزایای این امر کاهش میزان افزونگی در ذخیره سازی داده ها میباشد .در واقع در تکنولوژی بانکهای اطلاعاتی تکرار ذخیره سازی داده ها به حداقل میرسد که این امر خود دارای مزایای فراوانی میباشد که صرفه جویی در فضای ذخیره سازی  و کاهش عملیات سیستم از جمله مهمترین آنها میباشد . یکی دیگر از مزیتهای مهم بانکهای اطلاعاتی این است که با گسترش این تکنولوژی مفهوم چند سطحی بودن و معماری چند لایه به تدریج قوت یافت و بسط پیدا کرد  . از دیگر مزایای این تکنولوژی این است که مفاهیمی چون منطق صوری ، سیستمهای خبره ، مفاهیم هوش مصنوعی  و  ... نیز در این تکنولوژی رخنه کرده اند  که این امر موجب میشود که سیستم قادر به استنتاج منطقی از داده های ذخیره شده باشد . و به عنوان آخرین مزیت نیز میتوان این مورد را ذکر کرد که در این سیستمها کاربران در یک محیط انتزاعی (ABSTRACTIVE)  و مبتنی بر یک ساختار داده یی تجریدی کار میکنند و بکمک احکام زبانی خاص ، عملیات مورد نظر خود را انجام میدهندو بدین ترتیب برنامه های کاربردی ازداده های محیط فیزیکی کاملا مستقل میشوند .من گفتم آخرین مزیت اما این آخرین مزیت نیست بلکه آخرین مزیتی است که من ذکر میکنم و مزیتهای استفاده از بانک اطلاعاتی نیز آنقدر زیاد است که از حوصله این مقاله خارج میباشد .

تا اینجا بحث بارها به کلمات داده ها  و اطلاعات برخورد کرده ایم . اما مفهوم واقعی  این دو چیست ؟ در زیر تعریف این دو واژه را برای شما ذکر خواهم کرد و با تفاوتهای این دو آشنا خواهیم شد .

توجه : مطالبی که از اینجا به بعد ذکر خواهند شد بسیار بسیار مهم و حیاتی میباشند لذا خواهشمندم تا زمانی که هر خط را کاملا متوجه نشده اید هرگز سراغ خط بعدی نروید . حتی اگر صد بار یک خط را تکرار کنید .


مفهوم داده :
داده عبارت است از مقادیر صفات خاصه (ATTRIBUTES) انواع موجودیت ها .

خوب با ارائه تعریفی برای داده با دو واژه دیگر نیز برخوردکردیم که احتمالا برای شما نامفهوم میباشد لذا تعریفی برای این دو نیز ارائه خواهم داد .

نوع موجودیت : مفهوم کلی یک پدیده ، شی و یا فرد که در ورد آنها میخواهیم اطلاع داشته باشیم .

صفت خاصه : ویژگی جداساز یک نوع موجودیت از نوع دیگر را گویند .

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

خوب اگر من یک موجودیت باشم قطعا یکی از صفات خاصه من نام من میباشد و دیگری نام پدرم و دیگری شماره شناسنامه ام  و .... درست ؟ حالا مقدار هریک از این صفات خاصه من را داده میگویند .  به عنوان مثال نام من علیرضا است پس عریضا یک داده است . شماره شناسنامه من 1912 میباشد پس عدد 1912 داده بعدی من میباشد  و ...

پس موجودیت ما یک انسان در نظر گرفته شد که این انسان توسط یـکسری صفاتی دارد که مختص انـسـان اسـت  ( صفات خاصه ) و هر یک از این صفات خاصه دارای مقداری هستند که این مقدار نیز همان داده است

اطلاع :  اطلاع از داده حاصل میشود و در حل مسائل به کار میرود .

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

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

یک بار دیگر و برای آخرین بار این مطالب را با مثال شرح میدهم و سپس به سراغ مطالب بعدی خواهیم رفت .

در کل چهار  تا واژه بسیار مهم و کاربردی داریم :

  • داده
  • موجیدیت
  • صفت خاصه
  • اطلاع

در این کره  خاکی و این جهان هستی  ما سه تا دسته بیشتر نداریم . یعنی هر چیزی که ما میتوانیم نام ببریم یا یک شی (مانند  قابلمه ) است یا یک فرد ( مانند شما )  است یا یک پدیده ( مانند زلزله )  . ما به هریک از اجزاء این سه دسته موجودیت میگوییم . چرا چون وجود دارد . یعنی قابلمه وجود دارد پس قابلمه یک موجودیت میباشد . حالا ما چندین و چند مدل قابلمه داریم که این قابلمه ها با هم فرقهایی دارند . خوب عامل این تفاوتها چیست ؟ درسته هر قابلمه دارای یکسری خصوصیتها و صفاتی میباشد که این قابلمه را از قابلمه دیگر جدا میکند و علاوه بر آن همان صفات باعث میشنود تا بین من و قابلمه هم فرقی بوجود آید جون قابلمه صفاتی دارد که من ندارم و این صفات مخصوص قابلمه است نه انسان !  پس قابلمه دارای یکسری صفات است که مخصوص قابلمه است که ما به هر یک از این صفات صفت خاصه میگوییم . هر صفت خاصه این قابلمه دارای یک مقدار است . مثلا اگر رنگ قابلمه را به عنوان یکی از صفات خاصه آن در نظر بگیریم قطعا این صفت خاصه مقداری دارد که ما فرض میکنیم نارنجی است . خوب نارنجی هم شد  داده ما . حالا اگر ما در یک پردازش یا در حل یک مساله از نارنجی استفاده کنیم نارنجی از داده به اطلاع تبدیل میشود . امیدوارم دیگه همه این مفاهیم را فهمیده باشند .

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

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

  • ارتباط یک به یک
  • ارتباط یک به چند
  • ارتباط چند به یک
  • ارتباط  چند به چند

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

 

طرح ایجاد پایگاه داده های زبان فارسی با کمک کامپیوتر

کلید واژه ها :

زبان فارسی پایگاه اطلاعاتی   پیکره زبانی   پایگاه داده های زبانی

           چکیده:

          این طرح ، طرحی بنیادی و گسترده برای زبان فارسی است که با توجه به هدف ،   سودمندیها و کاربران گوناگون آن ، می تواند به عنوان طرح مادر یا پشتیبان برای بسیاری از     طرحهای زبانی ، ادبی و زبانشناختی زبان فارسی به کار گرفته شود . اکنون چند ماه است که اجرای فازاول این طرح در پژوهشگاه علوم انسانی و مطالعات فرهنکی آغاز شده است .

 

1 هدف طرح

هدف این طرح گردآوری و سازماندهی یک پیکره زبانی پایه برای زبان فارسی (شامل متنهای مهم و واژگان عمده آن ) در درون یک سیستم اطلاعات کامپیوتری و ایجاد نخستین بانک داده های زبان فارسی برای بهره گیری همه کاربران و پژوهندگان است .

 

2 - پیشینه بانکهای داده های زبانی

گرچه درگذشته سازمانها ، مراکز پژوهشی ، کتابخانه ها و مانند اینها به گردآوری اطلاعات تخصصی در زمینه های گوناگون و ارائه آنها با سرعت و تنوع زیاد علاقه مند بوده اند ؛ اماتنها پس از پیدایش کامپیوتر ، اندیشه ایجاد پایگاههای داده ها و بانکهای اطلاعاتی به خود جامه عمل پوشید . بویژه در زمینه پژوهشهای زبانی و فرهنگ نگاری ، روشهای کامپیوتری (یعنی پردازش خودکار زبان طبیعی  Automated Natural Language Processing  بسیار موفق بوده است .  

  در سه دهه گذشته ، بیشتر کشورهای صنعتی به ایجاد بانکهای زبانی خود پرداختنه اند . این کشورها ، ابتدا با گردآوری داده ها یا پیکره های زبانی (Corpus Linguistics )  ) و سپس با سازماندهی آنها در پایگاههای داده ها (Databases) و بانکهای اطلاعات زبانی (Linguistic Data Banks )، از شبکه های جهانی داده های زبانی (International Networks of Linguistic Data ) بهره برداری می کنند . در پیوست الف ، نمونه هایی از هریک آورده شده و برای آگاهی از جزئیات بیشتر ، از منابع مربوط نیز یاد گردیده

    زبان فارسی را همواره از نظر منابع ادبی و واژگان ، یکی از زبان ها ی غنی و با سابقه به شمار آورده اند ؛ اما تا کنون بررسی همه جانبه و دقیقی با تکیه بر آمار و داده های کافی ، درباره این زبان انجام نیافته است . همچنین بسیاری از پژوهشهای زبانشناختی و تصمیم گیریها در برنامه ریزی زبانی ، تنها با دسترسی به یک پیکره زبانی کافی و است .

3-دلایل پیشنهاد طرحمستند ، ارزش و اعتبار خواهند داشت از سوی دیگر، با گسترش کار برد کامپیوتر و پیدایش امکانات تازه نرم افزاری و سخت افزاری ، و وجود نمونه های بسیاری از این گونه بانک های داده ای زبانی در جهان و اثبات سود مندی و کارایی آنها ، زمان برای آغاز کوششهایی برای زبان فارسی ، از هر جهت مناسب می نماید .

دستیابی سریع به مجمو عه عظیمی از پیکره زبان فارسی و نیز امکان هرگونه جستجوی جهتدار، موضوعی و یا ساختاری در میان داده ها ، آرزوی هر پژوهنده زبان است . یک گنجینه بسامان از متنهای مهم و واژگان فارسی ، منبعی قابل اعتماد و آماری دقیق در دسترس افراد یا سازمانهای علاقه مند قرار می دهد . برخی از کاربردها ی بانک داده های زبانی در زمینه های زیر است :

- فعالیتهای گوناگون فرهنگ نگاری

 - واژه گزینی علمی

-  بررسیهای دستوری و تدوین دستور زبان امروز

 - بررسی تحولات تاریخی زبان فارسی و پیگیری سیر تحول واژگان  آن

 - مطالعات سبک شناسی در دوره های گوناگون ، یا درباره نویسندگان و شاعران مشخص

 - بررسیهای آوایی و گویش شناسی

 - تالیف تدوین فرهنگ تاریخی زبان فارسی

 - اجرای طرح ترجمه ماشینی برای زبان فارسی  

 

5- کاربران

    به طور کلی همه سازمانها و افرادی که به گونه ای با زبان فارسی و مسائل گوناگون آن سرو کار دارند، می توانند کاربران بالقوه این پایگاه باشند .

5-1- سازمانها 

-         سازمانهایی که به  پژوهشهای زبانی و زبان شناختی می پردازند ، مانند پژوهشگاه علوم انسانی و مطالعات فرهنگی ؛

-         سازمانهای برنامه ریزی زبانی ، مانند فرهنگستان زبان ؛

-         سازمانهایی که با آموزش زبان سروکار دارند ، مانند دانشگاه ها و وزارت آموزش و پرورش ؛

-         سازمانهای چاپ و نشر ؛

-         کتابخانه ها و مراکز اسناد ؛

-         رسانه های همگانی ، و بسیاری از سازمانهای دیگر ؛

 

4-2- اشخاص

-         نویسندگان ،  شاعران و روز نامه نگاران ؛

-        مترجمان و ویراستاران ؛

-        منتقدان ادبی ؛

-        زبانشناسان ؛

-        فرهنگ نگاران ؛

-        چکیده نویسان ؛

-        دستور نویسان ؛

-        اصطلاحشناسان ؛

-        برنامه سازان کامپیوتر ؛

  -  معلمان زبان و پژوهندگانی که از داده های زبانی به عنوان ماده اولیه کار خود بهره می گیرند .

 

6- مراحل اجرای طرح

 این طرح به طور کلی ، در سه دوره یا فاز متفاوت انجام می پذیرد :

-         دوره 1. گردآوری داده ها و فراهم آوردن واژه ها مه های بسامدی ؛

- دوره 2. سارماندهی و ایجاد پایگاه داده ها

- دوره3. بهره برداری ، نگهداری ، افزایش داده ها و روز آینده سازی پایگاه .

ترتیب زمانی ، زمانبندی تخمینی و ارتباط دوره ها به صورت زیر خواهند بود :  

 

  

7 ویژگیهای پایگاه داده ها

  در این طرح ، زبان فارسی و ساختار داده ها ، دارای مشخصات ویژه ای خواهند بود که در زیر تنها به چارچوب
 آنها اشاره می شود :

 

7 1 زبان فارسی

7 1 1 گستره و محدوده :

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

  از سوی دیگر برش گذشته فارسی ، خود به خود به گونه نوشتاری محدود خواهد شد ، در صورتی که برش امروزین ، گونه های گفتاری رانیز می توان دربرگیرد .

  هدف نخست این طرح ، زبان فارسی امروز خواهد بود و در مراحل بعد به دورانهای گذشته پرداخته خواهد شد .

7 1 2 بخشهای سازنده پیکره زبانی

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

-         نمونه های شاخص نظم و نثر (مهمترین آثار ادبی )؛

-         نمونه های مهم متنهای علمی و آموزشی (رشته های گوناگون )؛

- نمونه های مهم از نشریات (مقاله های گوناگون در زمینه های ادبی ، فرهنگی،  اجتماعی ، سیاسی ، هنری ، علمی ، ورزشی و مانند اینها )؛

-  نمونه های مهم از گونه های گفتاری رسمی و غیر رسمی ( گفتارهای رادیویی و تلویزیونی ، مصاحبه ها ، گفتگوهای خودمانی ، مکالمه های تلفنی و مانند اینها که ضبط و بازنویسی شده باشند ) ؛

- فهرست های واژگانی برگرفته از فرهنگها و واژه نامه های عمومی و تخصصی و بسیاری منابع دیگر .

 

 

7 2 ساختار پایگاه :

منظور از ایجاد یک پایگاه داده ها ، سازماندهی داده ها به گونه ای است که بتوان میان بخشهای آن ارتباط برقرار کرد و از راه جستجو به هر گونه آگاهی مورد نظر دست یافت .

7 2 1 پایگاه داده های پیوستار(Relational DATABASE):

بررسی بیشتر پایگاههای ایجاد شده برای زبانهای گوناگون ، نشان می دهد که از میان سه گونه مهم و شناخته شده " سلسبه مراتبی "، " شبکه ای " و "پیوستار " ، نوع پیوستار بیشترین موفقیت را داشته است . دلیل این امر ، می تواند سادگی نسبی و کارآیی بالای آن باشد . نرم افزارهای آماده ای برای این منظور وجود دارد که با بررسی ، مشاوره و آزمون می تواند مناسبترین نمونه را برگزید .

 

7 2 2 شکل داده ها :

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

 7 2 3 پیوندهای میان داده ها:

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

 

8 مختصری پیرامون ویژگیهای هر دوره 

8 1 دوره اول:

این دوره ، می تواند طرحی مستقل برای تدوین تعداد دلخواهی واژه نامه بسامدی برای متنهای برگزیده
ربان فارسی به شمار آید.

  این دوره شامل یک مرحله مقدماتی بررسی و آماده سازی امکانات ، نیروی انسانی و متنها ، و مرحله گردآوری و درونداد واژه ها ، اصطلاحات ، و متون شاخص و نمونه های گوناگون زبان فارسی ، و تدوین کامپیوتری واژه نامه های بسامدی ، واژه نما (معجم المفهرس ) و فهرست های آماری گوناگون است .

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

 

8 2 دوره دوم :

این دوره ، می تواند همزمان با دوره 1 آغاز شده ، به موازات آن پیشرفت کند .

  دراین دوره ، پس از نصب و راه اندازی سیستم پایگاه داده ها ، کار درونداد همه داده ها آماده شده ، و سازماندهی آنها در درون پایگاه آغاز می شود . همچنین آزمایش برنامه ها و کارآیی سیستم . آغاز بهره برداری از پایگاه ، در این مرحله انجام خواهد شد .

  نیازهای نرم افزاری و سخت افزاری ، با بررسی بسته برنامه های کاربردی بسیاری که برای این منظورها تهیه شده و در بازار موجود است و با توجه به حجم داده ها ، تعداد کاربران و چگونگی ارائه خدمات تعیین می گردد.

 

8 3 دوره سوم :

  این دوره ، پس از مرحله نصب و راه اندازی سیستم آغاز خواهد شد و مدت آن نامحدود خواهد بود ؛ چرا که شامل عملیات نگهداری ، بهره برداری ، روزآیند کردن ، بهبود و افزایش امکانات و داده های بانک می شود . در این دوره ، کار تهیه واژه نامه های بسامدی (دوره 1 )دنبال خواهد شد و نیز بانک داده های زبانی همواره فعال خواهد بود .

 

9 سازمان

  سازمان و تشکیلات این پایگاه ، به موازات پیشرفت آن و با آغاز هر مرحله تازه آن ، گسترش خواهد یافت و از نظر نیروی انسانی ، به همکاری گروهی از کارشناسان با تخصصهای زبان و زبانشناسی ، کامپیوتر ، و ادبیات در کنار کارکنان بخش اداری نیاز خواهد بود .

 

10 زمان بندی

زمان اجرای مراحل اول و دوم ، به طور تخمینی تعیین شده است که با پیشرفت تدریجی طرح ، می توان آن را دقت بخشید .

 

پیوست الف :

چند نمونه موجود و فعال پایگاه داده های زبانی

در این پیوست ، ابتدا به چند پیکره زبانی بزرگ که خود اساس ایجاد پایگاهها و بانکهای داده های زبانی قرار گرفته اند اشاره می شود.
برخی از پیکره های زبانی که تنها برای زبان انگلیسی ایجاد شده است ، عبارت اند از :
1 – پیکره دانشگاه بر اون ( Brown University Corpus of American English) که در سال 1961 با بیش از 5 میلیون واژه نمونه از کتابها و مجلات منتشر شد در همان سال ایجاد شد .
 2-پیکره زبانی دانشگاه بیر منگام ( Birmingham University Corput) که از یک مجموعه متن زبان انگلیسی عمومی (با نزدیک به 20 میایون واژه )به مجموعه گوناگونی از متنهای تخصصی (با نزدیک به 20 میلیون واژه) مربوط به سالهای 1960 تا 1981 تشکیل شده است .
3 -پیکره زبانی مرکز پژوهشهای ارتباطی بل (Bellcore Corpora) مجموعه ای از متنهای زبان انگلیسی امروز (شامل 70 میلیون واژه از مرکز نیویورک تایمز از سال 1983 به بعد و متنهای گوناگون دیگر )
4- پیکره مشترک لانگمن – لانکاستر برای زبان انگلیسی (Longman – Lancaster English Language Corpus) با 30 تا 50 میلیون واژه از زبان انگلیسی گفتاری و نوشتاری .
5 -پیکره جهانی زبان انگلیسی (International Corpus of English , ICE ) طرحی برای گردأوری یک میلیون واژه از گونه های انگلیسی ، در سراسز جهان که در اوایل دهه 1990 آماده خواهد شد .
و بسیاری دیگر که برای آگاهی بیشتر درباره آنها ، می توان به منبع شماره 3 مراجعه کرد . در این کتاب ، بیش از 39 پیکره زبانی برای زبان انگلیسی و تعداد زیادی برای دورانهای گوناگون و آثار کلاسیک آن معرفی شده است .
همچنین مشخصات چندین پیکره بزرگ که برای زبان فرانسه فراهم شده ارائه گردیده ، از جمله : پیکره ARTEL که با همکاری مرکز ملی پژوشهای علمی فرانسه (CNRS) و دانشگاه شیکاگو از حدود 2000 متن برگزیده و 150 میلیون واژه تشکیل شده است . یا پیکره FRANTEXT که با 170 میلیو ن واژه برای فراهم أوردن مواد پایگاه داده های بزرگزبان فرانسه (Trexor de le Langue Francaisa  ) ایجاد شد .
در همین منبع ، پیکره های زبانی ایجاد شده برای بسیاری از زبانهای جهان ، از جمله : آلمانی ، ایتالیلیی ، اسپانیایی ، بیشتر زبانهای اسلاوی ، سوئدی ، نروژی ،هلندی ، عربی ، عبری ، ارمنی ، لاتینی ، یونانی ، ژاپنی ،و مانند اینها معرفی شده است .
در پی فراهم آوردن اینگونه مواد زبانی ، بسیاری از کشورها به ایجاد بانکهای داده های زبانی در سطح ملی پرداختند ، از جمله : کشور های فرانسه ، کانادا ، آلمان ، ایتالیا ، اسپانیا ، روسیه ، ایالات متحده ، هلند ، سوئد ، دانمارک ، انگلستان .
فراتر از این ،اکنون چندین بانک داده های زبانی و واژگانی ، در سطح جهانی به وسیله سازمانهای بین المللی ایجاد گردیده و مورد بهره برداری است . مثلا جامعه اروپا ، بانک داده های خود را از طریق سازمان جهانی استاندارد (EURONET ) از راه  ISONET و مرکز اطلاعات اصلاحشناسی جهانی ( Infoterm) از راه TERMNET ارائه می کنند (نگاه کنید به منابع شماره 4و 5 ).

ASP.NET و پایگاه داده – قسمت اول

در این مجموعه شما با اصول وروشهای استفاده از پایگاه داده در ASP.NET آشنا می شوید. 

در این مقاله شما در مورد کار با با پایگاه داده در ASP.NET آشنا خواهید شد. بدین معنا که در صدد هستیم تا رویه ای کلی از مفاهیم، روشها وابزارهای مورد استفاده در ASP.NET جهت برقراری ارتباط با پایگاه داده، نشان دادن داده ها، دستکاری داده ها، بهنگام سازی و... توسط اشیایی چون مهیا کننده های بانک های اطلاعاتی، DataSetها XML، و ... معرفی می شود.

اگر تا بحال با پایگاه داده کار نکرده اید شاید provider یک پایگاه داده برای شما نامفهوم باشـد. بطور خلاصه راهی را که باید طی کرد تا به پایگاه داده متصل شده، آنرا باز کرده و داده ها را دستکاری کرده و دستورات را اجرا نمود، بوسیله یک تهیه کننده اطلاعات مشخص می شود. در ASP.NET معمولا از دو روش برای این کار استفاده می شود. روش اول اینکه اگر پایگاه داده شما از نوع SQL Server باشد بایستی با مدل SQLClient کار کرد و اگر پایگاه داده شما غیر از SQL Server باشد (در حال حاضر) باید از روش دیگر یعنی مدل OleDb استفاده نمود. بعنوان مثال اگر پایگاه داده شما Oracle ،Sybase و یا Access باشد باید از روش OleDb استفاده کنید.

روش کار بدین صورت است که ابتدا بایستی فضانام زیر را در صفحاتی که از بانک اطلاعاتی استفاده می شود فراخوانی کرد:

<% @ Import NameSpace="System.Data" %>
<% @ Import NameSpace="System.Data.OleDb" %>

برای برقراری ارتباط با پایگاه معمولا از عبارت زیر استفاده می شود:

Dim ObjConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=e:dbusers.mdb")

که قسمت DataSource آدرس فایل پایگاه داده است که در اینجا یک بانک Access است. همانگونه که ملاحظه می کنید از رشته ارتباطی یا Connection String بعنوان پارامتر استفاده شده است و بوسیله متد Open ارتباط باز می شود:

objConn.Open()

لازم به توضیح است که در پایان کار بوسیله متد Close ارتباط را خاتمه می دهیم.

بمحض ارتباط با پایگاه داده می توان دستورات را به آن فرستاد. این کار معمولا بوسیله شی OleDbCommand انجام می شود. جهت انجام این کار می توان یک دستور SQL یا نام یک روال ذخیره شده (Stored Procedure) را مشخص نمود و بنا به مقتضیات می توان اعمال مختلفی را روی پایگاه پیاده نمود:

Dim objCommand As New OleDbCommand ( "Select * From users", objConn )

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

ابتدا تعریف شی:

Dim objCommand As New OleDbCommand()

سپس نسبت دادن آن به رشته ارتباطی جهت برقراری ارتباط پایگاه:

objCommand.Connection= objConn

مشخص کردن عملیات مورد نظر بوسیله دستورات SQL:

objCommand.CommandText="Select * From Users"

حتی می توانید عملیات فوق را بصورت ذیل انجام دهید:

Dim objCommand As New OleDbCommand( SQL string, Connection string )

روشهای فوق دقیقا یک کار مشابه را انجام می دهند با این اوصاف که در عبارت آخر بجای شئ ارتباطی از یک رشته ارتباطی استفاده شده است. تا این مرحله هنوز عبارات فوق را به اجرا در نیاورده ایم. برای این کار راه های متفاوتی وجود دارد:

- از ExecuteNonQuery زمانی استفاده می شود که قصد برگرداندن داده ها از پایگاه مورد نظر نباشد مثلا در مواقعی که از دستورات SQL جهت درج (Insert) و بهنگام سازی (Update) استفاده شود.

objCommand.ExecuteNonQuery

- از ExecuteReader برای خواندن و برگرداندن اطلاعات از پایگاه استفاده می کنیم.

Dim ObjRead As OleDbDataReader
objRead=objCommand.ExecuteReader

- برای دستکاری یک تک مقدار مشخص و مورد نظر از متد ExecuteScalar استفاده می شود.

برای خواندن داده ها معمولا از کلاس DataReader استفاده می شود -برای خواندن نه برای اضافه کردن یا بروز کردن- این شئ بصورت مستقیم به پایگاه داده دسترسی دارد و فقط خواندنی (Read Only) است. البته این خاصیت محدودیتی برای آن است اما برای خواندن ساده داده روشی کامل بشمار می رود.

Dim objReadaer As OleDbDataReader
objReader=objCommand.ExecuteReader
Whlie objReader.Read
Response.write(objReader.GetString(0)& " <br> " ) 
End While

عبارت فوق جهت نمایش و چاپ داده ها بکار می رود. متد Read خواندن را تا زمانیکه به پایان نتایج نرسد ادامه می دهد و عبارت objReader.GetString(0) برای برگرداندن نسخه رشته ای ستونهای رکورد کاربرد دارد. در لیست زیر چند متد دیگر برای برگرداندن مقادیر داده ای متغیرها آمده است:

GetBoolean(x) مقدار منطقی را بر می گرداند.
GetChar(x) مقدار کاراکتری را برمی گرداند.
Get DataTypeColumn(x) نوع داده را در ستون برمیگرداند.
GetString(x) مقداررشته ای را برمی گرداند.
و...

 

آموزش سخت افزار ۲

کارت گرافیکی برای اینکه بتوان در صفحه نمایش رایانه ، تصویرهای مربوط به داده ها و اطلاعات را مشاهده نمود باید ارتباطی بین مادربرد و نمایشگر برقرار شود ، به همین دلیل کارت گرافیکی در یکی از شکاف های توسعه مادربرد قرار می گیرد و یا یک کابل به مادربرد وصل می شود و نمایش اطلاعات بر روی صفحه را کنترل می کند. کارت گرافیکی در رایانه دارای جایگاه خاصی است. در بیشتر رایانه ها ، کارت گرافیکی اطلاعات دیجیتال را برای نمایش توسط نمایشگر به اطلاعات آنالوگ تبدیل می نمایند. در واقع نقاط تشکیل دهنده تصویر بر روی نمایشگر پیکسل نام دارند. هر پیکسل یک رنگ را نمایش می دهد. در نمایشگرهای مکینتاش هر پیکسل دارای دو رنگ است (سفید و سیاه). در بعضی نمایشگر های امروزی هر پیکسل دارای ۲۵۶ رنگ است. در بیشتر صفحات نمایشگر ، پیکسل ها به صورت تمام رنگ (True Color) هستند و دارای ۱۶/۸ میلیون حالت مختلفند. کارت گرافیکی یک برد مدار چاپی به همراه حافظه و یک پردازنده اختصاصی است. پردازنده محاسبات مورد نیاز گرافیکی را انجام می دهد. کارت های گرافیکی با نامهای زیر شناخته می شوند: کارت ویدیویی،کنترل گر گرافیکی یا ویدیویی، آداپتور گرافیکی یا ویدیویی، شتاب دهنده گرافیکی یا ویدیویی. کارت گرافیکی از سه بخش اساسی تشکیل می شود: حافظه:یکی از مهمترین اجزای کارت گرافیکی است.حافظه رنگ مربوط به هر پیکسل را نگهداری می کند. در ساده ترین حالت (دو پیکسل سیاه و سفید) به یک بیت برای ذخیره سازی رنگ هر پیکسل نیاز می باشد. با توجه به اینکه هر بایت شامل هشت بیت است ، نیاز به هشتاد بایت برای ذخیره سازی رنگ مربوط به پیکسل های موجود در یک سطر در روی صفحه نمایشگر و ۳۸۴۰۰ بایت حافظه به منظور نگهداری تمام پیکسل های قابل مشاهده بر روی نمایشگر خواهد بود. اینترفیس رایانه: اینتر فیس با اتصال کارت گرافیکی به گذرگاه مربوطه بر روی برد اصلی ، محتویات حافظه را تغییر می دهد. در این حالت رایانه سیگنال ها را از طریق گذرگاه برای تغییر محتویات حافظه ارسال می کند. اینترفیس ویدیو: این قسمت سیگنال مورد نیاز برای مانیتور را می سازد. کارت گرافیکی سیگنال های رنگی را تولید می کند و باعث حرکت اشعه در CRT می شود. در واقع کارت گرافیکی تمام حافظه ای مربوطه را بیت به بیت اسکن می کند. سیگنال های مورد نظر جهت هر پیکسل موجود برای هر خط ارسال و در نهایت یک پالس افقی Sync ارسال می گردد ، عملیات فوق برای ۴۸۰ خط تکرار و در پایان یک پالس عمودی Sync ارسال خواهد شد. کارت های گرافیکی ساده frame Buffer نامیده می شود. این نوع کارت یک Frame از اطلاعات را نگاهداری می کند. ریزپردازنده رایانه مسئول بهنگام سازی هر بایت در حافظه کارت گرافیک است. در صورتی که عملیات گرافیکی پیچیده ای وجود داشته باشد ، ریزپردازنده مدت زیادی را صرف بهنگام سازی حافظه کارت می نماید. بنابراین برای سایر عملیات زمانی باقی نخواهد ماند. مثلاً اگر یک تصویر سه بعدی دارای ۰۰۰/۱۵ ضلع باشد ، ریزپردازنده باید هر ضلع را رسم و عملیات مربوط را در کارت انجام دهد ، بدین صورت این عملیات زمان زیادی لازم دارد. در صورتی که کارت های گرافیکی جدید حجم عملیات مربوط به پردازنده را به شدت کاهش می دهد. این نوع کارت های جدید دارای یک پردازنده قوی هستند که مختص این عملیات می باشند. با توجه به نوع کارت گرافیک پردازنده می تواند یک کمک پردازنده گرافیکی و یا یک شتاب دهنده گرافیکی باشد. پردازنده کمکی و پردازنده اصلی همزمان فعالیت نموده و زمانی که از شتاب دهنده گرافیک استفاده می شود دستورات لازم از طریق پردازنده اصلی برای شتاب دهنده ارسال و شتاب دهنده سایر کارها را انجام می دهد. در سیستم های کمک پردازنده درایو کارت گرافیک عملیات مربوط به کارهای گرافیکی را به طور مستقیم برای پردازنده کمکی گرافیکی ارسال می کند. در سیستم های شتاب دهنده گرافیکی درایو کارت گرافیک در ابتدا همه چیز را برای پردازنده اصلی ارسال می کند. سپس پردازنده اصلی شتاب دهنده گرافیک را هدایت می نماید. عناصر کارت گرافیکی - حافظه: در کارت گرافیکی از حافظه های مختلف استفاده می شود. یکی از بهترین نوع آنها از پیکربندی dual-ported استفاده می نماید. در این نوع کارت ها امکان نوشتن در یک بخش و خواندن از بخش دیگر به صورت همزمان امکان پذیر است. بدین صورت مدت زمان کاهش خواهد یافت. :(Digital-to-Analog Converter ) DAC یک نوع تبدیل کننده می باشد که داده ها را به دیجیتال تبدیل می کند. سرعت این نوع تبدیل کننده تأثیر بسیار زیادی بر مشاهده تصویر بر روی صفحه نمایش خواهد داشت. :Display Connector اغلب کارت های گرافیکی از کانکتور ۱۵ پین استفاده می کنند. این نوع کانکتورها در زمان عرضه VGA مطرح شدند. :Graphic BIOS کارت های گرافیکی دارای یک تراشه کوچک می باشند. این تراشه به قسمت های دیگر کارت نحوه انجام عملیات را اعمال خواهد کرد. این قسمت مسئولیت تست کارت گرافیک یعنی عملیات ورودی و خروجی را نیز بر عهده دارد. :Computer (bus)Conneetor این نوع پورت امکان اتصال کارت بر حافظه را فراهم می آورد و دارای سرعت بیشتری می باشد. بیشتر این گذرگاه ها از نوع AGP می باشد. پردازنده گرافیکی: همانطور که از نام آن پیداست مغز کارت گرافیک می باشد و می تواند در سه حالت پیکربندی کارت گرافیکی را انجام دهد. استانداردهای کارت گرافیک اولین کارت گرافیک در سال ۱۹۸۱ توسط شرکت IBM به بازار عرضه گردید. این نوع کارت به صورت تک رنگ و با نام اختصاری MDAS ارائه گردید. رنگ نوشته در این حالت سفید یا سبز و زمینه سیاه بود. صفحات نمایشگری که از این کارت ها استفاده می کردند ، متنی بودند. سپس کارت های چهار رنگ HGC در بازار عرضه گردیدند. بعد از آن کارت های هشت رنگ CGA و کارت های شانزده رنگ EGA تولید شدند. شرکت IBM در سال ۱۹۷۸ کارت VGA را تولید کرد. این نوع کارت ها ۲۵۶ رنگ را نشان می دادند و وضوح آنها ۴۰۰* ۷۲۰ بود. سپس کارت های SVGA عرضه شدند. این نوع کارت ۱۶/۸ میلیون رنگ با وضوح ۱۰۲۴* ۱۲۸۰ بود. هر چه تعداد رنگ و وضوح تصویر افزایش یابد کارت گرافیک بهتر خواهد بود. کارت های گرافیکی به راحتی به سیستم متصل می شوند. کارت های جدید از طریق پورت AGP و کارت های قدیمی از طریق اسلات های ISA و یا PCI بر سیستم متصل می شدند. http://iritn.com/index.php?action=show&type=news&id=3252

آشنایی با سخت افزار


واحد پردازش مرکزی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
هر 
مگا فلاپ  استو منظور از آن یک میلیون عمل اعشاری در ثانیه  می باشد از این واحد برای سنجش توانایی کامپیوتر در انجام عملیات پیچیده ریاضی استفاده می شود
خطوط گذرگاهی
هر خط گذر گاهی مجموعه ای از مسیرهای الکترونیکی موازی است که به طور داخلی داده ها دا درون سیستم از یک مکان به مکان دیگری می برد مقدار دادهای که در هر بار می تواند حمل شود پهنای گذر گاه نام دارد پهنای گذر گاه نشان دهندهءتعداد مسیرهای الکترونیکی است
هر چه پهنای گذر گاه بیشتر باشد در نتیجه کامپیوتر قوی تر است وجود پهنای گذر گاه بزرگ می تواند مفاهیم زیر را به همراه داشته باشد
کامپیوتر در یک زمان معین می تواند داده های بیشتری را منتقل کند که این موجب بالا رفتن سرعت کامپیوتر  می شودکامپیوتر می تواند از دستورات متنوع بیشترو بزرگتری پشتیبانی کند

 

آموزش سخت افزار ۱

کارت صدا(۱) Sound Card کارت صدا یکی از عناصر سخت افزاری رایانه است که باعث پخش و ضبط صدا می گردد. قبل از گسترش کارت های صدا، صدا در رایانه توسط بلند گوهای داخلی ایجاد می شد. این بلند گوها توان خود را از برد اصلی می گرفتند. استفاده از کارت صدا از اواخر سال ۱۹۸۰ شروع شد. در حال حاضر شرکت های متعددی تولیدات خود را در این زمینه به بازار عرضه می کنند. کارت صوتی همانند کارت گرافیکی بر روی برد اصلی نصب می شود و در پشت آن چند فیش برای میکروفن و بلند گو قرار دارد. وظیفه کارت صدا آماده سازی سیگنال ها جهت پخش و دریافت سیگنال های ورودی از میکروفن و آماده کردن آنها برای ذخیره در رایانه است. کارت صدا، کارت صوتی نیز نامیده می شود و در بسیاری موارد می تواند اصواتی با کیفیت بسیار عالی تولید کند. صوت، یک سیگنال آنالوگ است که به صورت موج پیوسته انتشار می یابد. رایانه همواره در حال پردازش سیگنال های آنالوگ است، زیرا این سیگنال ها دائماً در حال تغییرند. در واقع لازم است که سیگنال های آنالوگ به بیت های رقمی (دیجیتال) تبدیل شوند. این عمل توسط وسیله ای به نام Analog to Digital Convertor ADC)) صورت می گیرد. سیگنال های دیجیتالی تولید شده مجدداً باید به سیگنال های آنالوگ تبدیل شوند تا بتوانند به وسیله بلند گو پخش شوند. این عمل توسط سخت افزار دیگری به نام DACصورت می گیرد. صداهای دیجیتال به فضای زیادی بر روی دیسک نیاز دارد. بنابراین به جای ذخیره صدا آن را ایجاد می کند. این عملیات شبیه سازی صوتی نام دارد و به روش های زیر صورت می گیرد: FM -1(مدولاسیون بسامد): این روش به صورت کاملاً مصنوعی صدا را ایجاد می کند و برای ساخت آن از دو موج سینوسی استفاده می کند. ۲- جدول موجی (صدای موجی): این روش کم هزینه و واقعی تر است. در این حالت از تمامی وسایل موسیقی نمونه گیری شده است و صدای دیجیتالی تولید شده در یک جدول موج ذخیره شده است. در صورتی که یک برنامه به صدایی احتیاج داشته باشد این جدول موج چه در کارت صدا و چه در دیسک، صدای واقعی را به برنامه می دهد. فایل های صوتی با پسوند Wav در ویندوز صداهای واقعی هستند که از جدول موج استفاده می کنند. بنابراین آهنگسازان حرفه ای ترجیح می دهند این گونه کارت های صدا را استفاده نمایند. این صداها در تراشه های رام کارت صوتی ذخیره می شوند و در نتیجه بسیاری از تولید کنندگان بزرگ بودن حافظه جدول صوتی را دلیل مرغوب بودن کارت صدا می دادند. ۳- ) MIDIرابط دیجیتالی ادوات موسیقی): این روش برخلاف روش قبلی صدای تولید شده را ضبط نمی کند، بلکه اطلاعات صدا مانند کوک، دوام، بلندی و سایر موارد را ضبط می کند. این اطلاعات در یک قالب استاندارد در فایل ذخیره می شود و یا به یک وسیله موسیقی جهت اجرا ارسال می شود. بنابراین یک فایل MIDI مجموعه ای از دستور العمل ها در مورد چگونگی اجرای نت هاست. نکته: فایل های MIDI جهت برقراری ویدئو کنفرانس ها و پخش فیلم در اینترنت به کار می روند. ۴- نمونه سازی فیزیکی:این روش نسبتاً جدید است و بسته به نوع ساز شبیه سازی شده است. با اینکه دارای صدای خوبی است اما بار زیادی بر پردازنده اصلی وارد می سازد. اجزای تشکیل دهنده کارت صدا - پردازنده سیگنال های دیجیتال که عملیات مورد نظر را انجام می دهند. - مبدل آنالوگ به دیجیتال (ACD) برای صوت ورودی به رایانه - مبدل دیجیتال به آنالوگ (DAC) - حافظه ROM یا فلش جهت ذخیره سازی اطلاعات - اینترفیش دستگاه های موزیکال دیجیتالی (MIDI) جهت اتصال دستگاه های موزیک خارجی - کانکتورهای لازم جهت اتصال به میکروفن یا بلند گو - پورت مخصوص بازی برای اتصال Joystick کارت های صوتی قدیمی عمدتاً از نوع ISA بوده اند، اما کارت صداهای امروزی از نوع PCI هستند که بر روی برد اصلی نصب می گردند. بیشتر مادربردها در حال حاضر کارت صدا را به صورت یک تراشه بر روی برد اصلی دارند. انواع اتصال کارت صدا به رایانه - بلند گو (Speaker) - یک منبع ورودی آنالوگ (میکروفن ضبط صوت و CD-Player) - یک منبع ورودی دیجیتال نظیر CD-ROM - یک منبع آنالوگ خروجی نظیر ضبط صوت - یک منبع دیجیتال خروجی شنیدن صوت مراحل شنیدن صوت بر خلاف روش تولید صدا می باشد که در زیر شرح داده شده است: ۱- داده های دیجیتال از هارددیسک خوانده می شود و سپس در اختیار پردازنده اصلی قرار می گیرد. ۲- پردازنده اصلی داده ها را برای DSP موجود بر روی کارت صدا ارسال می کند. 3- DSP داده های دیجیتال را از حالت فشرده خارج می کند. ۴- داده های دیجیتال غیر فشرده شدن توسط DSP بلافاصله با مبدل دیجیتال به آنالوگ (DAC) پردازش و یک سیگنال آنالوگ ایجاد می کنند. این سیگنال های ایجاد شده از طریق هدفن یا بلند گو شنیده خواهد شد. http://iritn.com/index.php?action=show&type=news&id=3572

موتور جستجو چگونه کار می کند؟

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

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

  • Spider یا عنکبوت
  • Crawler یا خزنده
  • Indexer یا بایگانی کننده
  • Database یا پایگاه داده
  • Ranker یا سیستم رتبه بندی


الف 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 را انتخاب کنید و پس از انتخاب جدول ها خواهید توانست بین آنها توسط فیلدهای کلید ارتباط با معنی ایجاد کنید .

 

_ ما توسط فیلد کلید می توانیم انواع روابط زیر را بین جدول ها ایجاد کنیم :

 

» رابطه یک به یک : در این نوع ارتباط فیلدی در جدول اول یا اصلی به عنوان فیلد کلید تعریف می شود و با فیلد دیگری که در جدول بعدی یا فرعی به عنوان فیلد کلید تعریف شده است ارتباط داده می شود . در این صورت اطلاعات موجود در فیلد جدول فرعی باید کاملا مشابه اطلاعات و داده های موجود در فیلد کلید اصلی اصلی باشد . یعنی برای هر رکورد موجود در فیلد کلید اصلی باید رکورد متناظر با آن در فیلد کلید فرعی موجود باشد . و نمی تواند رکورد تکراری در هر یک از جدول ها وجود داشته باشد .

 

 

 

» رابطه یک به چند : در این نوع ارتباط فیلد اشاره گر می تواند به چند رکورد در جدول های دیگر اشاره کند یا این که برای هر رکورد موجود در فیلد کلید اصلی چند رکورد متناظر با آن در جدول های دیگر موجود باشد .

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

 

نکته : ارتباط یک به چند مهمترین و پر کاربرد ترین ارتباط موجود در میان جدول ها محسوب میشود .

 

 

 

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

 

خلاصه مطلب : ساخت برنامه هایی که از پایگاه داده در سطح گسترده ای استفاده می کنند بدون ایجاد ارتباط بین جدول ها توسط فیلد های کلید امکان پذیر نیست .