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

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

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

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

برنامه نویسی ماوس در Turbo C

با توجه به این که برنامه های تحت داس رابط ضعیفی نسبت به ویندوز و لینوکس و... دارند ما حداقل باید برنامه هایمان را به ماوس مجهز کنیم تا این نقص تا حدودی برطرف شود. مخصوصا اگر بخواهیم یک برنامه گرافیکی بنویسیم برنامه مان بدون ماوس غیر قابل استفاده خواهد بود. خب بهتره بریم سر اصل مطلب. در این مقاله فعال کردن ماوس در زبان C توضیح داده شده. البته ما ماوس را با استفاده از وقفه ها که در تمام کامپیوترهای IBM یکی هستند فعال می کنیم و کدهای ارائه شده با کمی تغییر در پاسکال و بیسیک نیز کار خواهند کرد. اگر شما با زبان C آشنایی ندارید ممکن است این کدها برایتان ناآشنا باشند. پس بهتر است از خواندن این مقاله صرفنظر کنید. البته ممکن است به زودی آموزش C و ++C را نیز در این سایت بگذاریم. ابتدا برای این که از ماوس استفاده کنیم باید بفهمیم که درایور ماوس نصب شده یا نه؟ اگر نصب نشده باشد نمی توان ماوس را فعال کرد. برای این کار از تابع شماره 00hex از وقفه 33hex استفاده می کنیم. اگر قبلا با وقفه ها کار کرده باشید حتما می دانید که شماره تابع وقفه در ثبات AH قرار می گیرد ولی توابع 33hex به جای AH از AX استفاده می کنند. یعنی برای فراخوانی این وقفه شماره تابع آن را در ثبات AX قرار می دهیم. پس از فراخوانی این وقفه اگر مقدار ثبات AX برابر 0000hex باشد یعنی درایور ماوس نصب نشده و ما نمیتوانیم از ماوس استفاده کنیم. پس از این کار باید نشانگر ماوس را د ر صفحه ظاهر کنیم. نشانگر ماوس دقیقا در وسط صفحه ظاهر خواهد شد. اگر در حالت متنی باشیم این نشانگر به صورت یک مستطیل و اگر در حالت گرافیکی باشیم نشانگر به صورت یک فلش کوچک نشان داده خواهد شد. برای ظاهر کردن کافی است از تابع شماره 01 وقفه 33h استفاده کنیم. برنامه زیر هم درایور ماوس را تشخیص داده و هم آن را در حالت متنی نشان میدهد:

#include <STDIO.H>
#include <CONIO.H>
#include <STDLIB.H>
#include <DOS.H>
void main()
{ union REGS r;
clrscr();
r.x.ax= 0;
int86(0x33,&r,&r);
if(r.x.ax==0)
{
printf("No Mouse Available.....");
getch();
exit(1);
}
r.x.ax=1;//place 01 in AX register
int86(0x33,&r,&r);//showing the mouse pointer
printf(“press any key to exit…”);
getch();
}

تابع مفید دیگری برای کار با ماوس تابع 02 از وقفه 33hex میباشد. این تابع نشانگر ماوس را پنهان می کند. فرض کنید می خواهید مانند برنامه Paint وقتی ماوس را میکشید یک خط هم با آن کشیده شود. در این حالت اگر نشانگر ماوس دیده شود بعضی از نقاط خط پاک خواهند شد و بهتر است که در این مواقع نشانگر را پنهان کنیم. بعدا مثال کاملتری برایتان خواهم نوشت. برای کار با ماوس ما باید بدانیم که نشانگر اکنون د رکجای صفحه می باشد یعنی مختصات (x,y) آن را بدست آوریم. برای این کار از تابع شماره 03 استفاده می کنیم. که پس از فراخوانی تابع ثبات CX حاوی مختصات افقی(x) و DX حاوی مختصات عمودی نشانگر خواهد بود. کار مهم دیگر تشخیص کلیدهای فشرده شده ماوس است. تابع 03 همچنین تعیین می کند که کدام کلید از ماوس فشرده شده است. این کلیدها را ثبات BX تعیین میکند. فقط همین کافی است که بدانید پس از فراخوانی وقفه اگر BX برابر با 00000001)Hex (باشد کلید چپ ماوس فشار داده شده است. راجع به فشار دادن کلیدهای دیگر اگر علاقه مند بودید به من ایمیل بزنید تا نحوه تشخیص آنها را هم بنویسم. مثال زیر نحوه کار را مشخص می کند:< /P>< /P>

#include <STDIO.H>
#include <CONIO.H>
#include <STDLIB.H>
#include <DOS.H>
void main() {
union REGS i,o;
clrscr();
i.x.ax=0;
int86(0x33,&i,&o);
if(o.x.ax==0) {
printf("No Mouse Available...");
exit(1);
}
i.x.ax=1;
int86(0x33,&i,&o);
gotoxy(25,23);
printf("Press any key to exit...");
while(!kbhit())
{
i.x.ax=3;
int86(0x33,&i,&o);
gotoxy(2,2);
printf("x->co-ordinate=(%d) y->co-ordinate=(%d) ",o.x.cx,o.x.dx);
if(o.x.bx==0x01) printf(“Right button of mouse pressed.”); }
i.x.ax=2; int86(0x33,&i,&o);
}

برای پایان کار می خواهیم یک برنامه که ابزار pencil برنامه های گرافیکی را شبیه سازی می کند بنویسیم. برای این کار ما ابتداصفحه را درحالت گرافیکی قرار می دهیم برای این کهبرنامه زیر کار کند در دستور initgraph(&gd,&gm,""); در داخل کوتیشن مسیرفایلهای .bgi را بنویسید.

#include <CONIO.H>
#include <STDIO.H>
#include <STDLIB.H>
#include <GRAPHICS.H>
#include <DOS.H>
union REGS i,o;
main() {
int show_mouse();
int hide_mouse();
int get_mouse_pos(int *,int *,int *);
int gd=DETECT,gm,button,x1,y1,x2,y2;
initgraph(&gd,&gm,"");
i.x.ax=0; int86(0x33,&i,&o);
if(o.x.ax==0)
{ printf("No Mouse is available..");
exit(1);
restorecrtmode();
}
outtextxy(230,400,"Press any key to exit....");
while(!kbhit())
{
show_mouse(); get_mouse_pos(&x1,&y1,&button);
x2=x1;
y2=y1;
while(button==1) {
hide_mouse();
line(x1,y1,x2,y2);
x1=x2;
y1=y2;
get_mouse_pos(&x2,&y2,&button); }
}
restorecrtmode();
} show_mouse()
{
i.x.ax=1; int86(0x33,&i,&o);
}
hide_mouse()
{
i.x.ax=2; int86(0x33,&i,&o);
}
get_mouse_pos(int *x,int *y,int *button)
{
i.x.ax=3;
int86(0x33,&i,&o);
*x=o.x.cx;
*y=o.x.dx; *button=o.x.bx&1;
}

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

برنامه نویسی ماوس در Turbo C

با توجه به این که برنامه های تحت داس رابط ضعیفی نسبت به ویندوز و لینوکس و... دارند ما حداقل باید برنامه هایمان را به ماوس مجهز کنیم تا این نقص تا حدودی برطرف شود. مخصوصا اگر بخواهیم یک برنامه گرافیکی بنویسیم برنامه مان بدون ماوس غیر قابل استفاده خواهد بود. خب بهتره بریم سر اصل مطلب. در این مقاله فعال کردن ماوس در زبان C توضیح داده شده. البته ما ماوس را با استفاده از وقفه ها که در تمام کامپیوترهای IBM یکی هستند فعال می کنیم و کدهای ارائه شده با کمی تغییر در پاسکال و بیسیک نیز کار خواهند کرد. اگر شما با زبان C آشنایی ندارید ممکن است این کدها برایتان ناآشنا باشند. پس بهتر است از خواندن این مقاله صرفنظر کنید. البته ممکن است به زودی آموزش C و ++C را نیز در این سایت بگذاریم. ابتدا برای این که از ماوس استفاده کنیم باید بفهمیم که درایور ماوس نصب شده یا نه؟ اگر نصب نشده باشد نمی توان ماوس را فعال کرد. برای این کار از تابع شماره 00hex از وقفه 33hex استفاده می کنیم. اگر قبلا با وقفه ها کار کرده باشید حتما می دانید که شماره تابع وقفه در ثبات AH قرار می گیرد ولی توابع 33hex به جای AH از AX استفاده می کنند. یعنی برای فراخوانی این وقفه شماره تابع آن را در ثبات AX قرار می دهیم. پس از فراخوانی این وقفه اگر مقدار ثبات AX برابر 0000hex باشد یعنی درایور ماوس نصب نشده و ما نمیتوانیم از ماوس استفاده کنیم. پس از این کار باید نشانگر ماوس را د ر صفحه ظاهر کنیم. نشانگر ماوس دقیقا در وسط صفحه ظاهر خواهد شد. اگر در حالت متنی باشیم این نشانگر به صورت یک مستطیل و اگر در حالت گرافیکی باشیم نشانگر به صورت یک فلش کوچک نشان داده خواهد شد. برای ظاهر کردن کافی است از تابع شماره 01 وقفه 33h استفاده کنیم. برنامه زیر هم درایور ماوس را تشخیص داده و هم آن را در حالت متنی نشان میدهد:

#include <STDIO.H>
#include <CONIO.H>
#include <STDLIB.H>
#include <DOS.H>
void main()
{ union REGS r;
clrscr();
r.x.ax= 0;
int86(0x33,&r,&r);
if(r.x.ax==0)
{
printf("No Mouse Available.....");
getch();
exit(1);
}
r.x.ax=1;//place 01 in AX register
int86(0x33,&r,&r);//showing the mouse pointer
printf(“press any key to exit…”);
getch();
}

تابع مفید دیگری برای کار با ماوس تابع 02 از وقفه 33hex میباشد. این تابع نشانگر ماوس را پنهان می کند. فرض کنید می خواهید مانند برنامه Paint وقتی ماوس را میکشید یک خط هم با آن کشیده شود. در این حالت اگر نشانگر ماوس دیده شود بعضی از نقاط خط پاک خواهند شد و بهتر است که در این مواقع نشانگر را پنهان کنیم. بعدا مثال کاملتری برایتان خواهم نوشت. برای کار با ماوس ما باید بدانیم که نشانگر اکنون د رکجای صفحه می باشد یعنی مختصات (x,y) آن را بدست آوریم. برای این کار از تابع شماره 03 استفاده می کنیم. که پس از فراخوانی تابع ثبات CX حاوی مختصات افقی(x) و DX حاوی مختصات عمودی نشانگر خواهد بود. کار مهم دیگر تشخیص کلیدهای فشرده شده ماوس است. تابع 03 همچنین تعیین می کند که کدام کلید از ماوس فشرده شده است. این کلیدها را ثبات BX تعیین میکند. فقط همین کافی است که بدانید پس از فراخوانی وقفه اگر BX برابر با 00000001)Hex (باشد کلید چپ ماوس فشار داده شده است. راجع به فشار دادن کلیدهای دیگر اگر علاقه مند بودید به من ایمیل بزنید تا نحوه تشخیص آنها را هم بنویسم. مثال زیر نحوه کار را مشخص می کند:< /P>< /P>

#include <STDIO.H>
#include <CONIO.H>
#include <STDLIB.H>
#include <DOS.H>
void main() {
union REGS i,o;
clrscr();
i.x.ax=0;
int86(0x33,&i,&o);
if(o.x.ax==0) {
printf("No Mouse Available...");
exit(1);
}
i.x.ax=1;
int86(0x33,&i,&o);
gotoxy(25,23);
printf("Press any key to exit...");
while(!kbhit())
{
i.x.ax=3;
int86(0x33,&i,&o);
gotoxy(2,2);
printf("x->co-ordinate=(%d) y->co-ordinate=(%d) ",o.x.cx,o.x.dx);
if(o.x.bx==0x01) printf(“Right button of mouse pressed.”); }
i.x.ax=2; int86(0x33,&i,&o);
}

برای پایان کار می خواهیم یک برنامه که ابزار pencil برنامه های گرافیکی را شبیه سازی می کند بنویسیم. برای این کار ما ابتداصفحه را درحالت گرافیکی قرار می دهیم برای این کهبرنامه زیر کار کند در دستور initgraph(&gd,&gm,""); در داخل کوتیشن مسیرفایلهای .bgi را بنویسید.

#include <CONIO.H>
#include <STDIO.H>
#include <STDLIB.H>
#include <GRAPHICS.H>
#include <DOS.H>
union REGS i,o;
main() {
int show_mouse();
int hide_mouse();
int get_mouse_pos(int *,int *,int *);
int gd=DETECT,gm,button,x1,y1,x2,y2;
initgraph(&gd,&gm,"");
i.x.ax=0; int86(0x33,&i,&o);
if(o.x.ax==0)
{ printf("No Mouse is available..");
exit(1);
restorecrtmode();
}
outtextxy(230,400,"Press any key to exit....");
while(!kbhit())
{
show_mouse(); get_mouse_pos(&x1,&y1,&button);
x2=x1;
y2=y1;
while(button==1) {
hide_mouse();
line(x1,y1,x2,y2);
x1=x2;
y1=y2;
get_mouse_pos(&x2,&y2,&button); }
}
restorecrtmode();
} show_mouse()
{
i.x.ax=1; int86(0x33,&i,&o);
}
hide_mouse()
{
i.x.ax=2; int86(0x33,&i,&o);
}
get_mouse_pos(int *x,int *y,int *button)
{
i.x.ax=3;
int86(0x33,&i,&o);
*x=o.x.cx;
*y=o.x.dx; *button=o.x.bx&1;
}

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

ADO / ADO.net

ارتباط به منابع داده در ADO.NET
 
بمنظوراتصال به یک منبع داده ، می بایست در ابتدا یک Net Data Provider . ، انتخاب گردد . Data Provider ، کلاس های لازم بمنظور اتصال به یک منبع داده ، خواندن اطلاعات ، ویرایش ، بهنگام سازی و انجام عملیات متفاوت بر روی داده ها را ارائه می نماید . در این مقاله به تشریح انواع Data Provider پرداخته و با نحوه انتخاب مناسب آنان بمنظور استفاده در برنامه ها ، آشنا خواهیم شد .

NET Data Provider . چیست؟
NET Data Provider .، یک Component کلیدی ارائه شده بهمراه معماری ADO.NET بوده که امکان ارتباط بین یک منبع داده و یک Component ، یک سرویس وب XML و یا یک برنامه را فراهم می نماید. یک NET Data Provider .، امکان اتصال به منبع داده ، بازیابی داده ها ، انجام عملیات بر روی داده ها و بهنگام سازی منبع داده را فراهم می نماید. بهمراه فریمورک دات نت ، Provider های زیر ارائه شده است :

SQL Server .NET Data Provider

OLE DB .NET Data Provider

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

کلاس های NET Data Provider .
ADO.NET ، از NET Data Provider . ، بمنظور ارتباط به منبع داده ، بازیابی ، عملیات برروی داده ها و بهنگام سازی منبع داده استفاده می نماید . هر Provider ، بگونه ای طراحی می گردد که دارای حجم اندکی بوده و یک لایه حداقل بین کد های نوشته شده و منبع داده را ایجاد نمایند . ( افزایش کارائی بدون قربانی نمودن پتانسیل ها !)

فریمورک دات نت ، دارای دو Data Provider است :

SQL Server .NET . امکان دستیابی بهینه به SQL Server 2000 و بانک های اطلاعاتی SQL Server 7.0 را فراهم می نماید. بدین منظور می بایست از namespace با نام System.Data.Sqlclient بهمراه برنامه ها، استفاده گردد . Provider فوق، نسبت به OLE DB .NET Data Provider ، دارای کارآئی بمراتب بیشتری است (برای ارتباط با منبع داده از لایه های اضافه دیگر نظیر: OLE DB و یا ODBC استفاده نمی گردد ).

OLE DB .NET . امکان دستیابی به SQL Server 6.5 و یا نسخه های قبل از آن ، بانک های اطلاعاتی نظیر اوراکل ، Sybase ، DB2/400 و اکسس ماکروسافت را فراهم می نماید . بمنظور استفاده از Provider فوق ، می بایست از namespace با نام System.Data.OleDb بهمراه برنامه ها ، استفاده گردد .

علاوه بر موارد فوق ، ماکروسافت در صدد ارائه یک ODBC .NET Data Provider برای دستیابی به سایر منابع داده است .
ADO.NET ، از یک مدل شی گراء در رابطه با NET Data Providers . استفاده می نماید . در SQL Server .NET Data Provider ، اسامی کلاس ها با پیشوند Sql آغاز می گردد . مثلا" کلاس Connection ، SqlConnection نامیده می شود. در OLE DB .NET Data Provider ، اسامی کلاس ها با پیشوند OleDb ، آغاز می گردد . مثلا" کلاس Connection دارای نام OleDbConnection ، می باشد. چهار کلاس اساسی زیر، سهم عمده ای در شکل دهی یک NET Data Provider . را برعهده دارند .

XxxConnection . کلاس فوق ، بمنظور ایجاد یک Connection به یک منبع داده خاص استفاده می گردد . مثلا" کلاس SqlConnection ، باعث اتصال به منابع داده SQL Server ، می گردد .

XxxCommand . کلاس فوق ، بمنظور اجرای یک دستور از طریق یک منبع داده ، استفاده می گردد . مثلا" کلاس SqlCommand ، امکان اجرای Stored Procedure و عبارات SQL در رابطه با یک منبع داده SQL Server ، را فراهم می نماید .

XxxDataReader . از کلاس فوق ، بمنظور خواندن اطلاعات از یک منبع داده بصورت فقط خواندنی و Forward-only ، استفاده می گردد . مثلا" کلاس SqlDataReader ، امکان خواندن سطرهائی از جداول در رابطه با یک منبع داده SQL Server را فراهم می نماید . کلاس فوق، بعنوان خروجی متد ExecuteReader از کلاس XxxCommand ، برگردانده می شود. ( اغلب بعنوان ماحصل اجرای یک عبارت SELECT SQL )

XxxDataAdapter . کلاس فوق ، از اشیاء XxxCommand استفاده تا یک DataSet را حاوی داده های مورد نظر نماید. در این راستا ، امکان بهنگام سازی اطلاعات نیز فراهم می گردد . مثلا" کلاس SqlDataAdapter ، امکان مدیریت ارتباط بین یک Dataset و داده های ذیربط در یک منبع داده SQL Server را فراهم می نماید.

نحوه انتخاب یک Data Provider
انتخاب یک NET Data Provider . مناسب برای یک برنامه، بستگی به نوع منبع داده ئی دارد که قصد ارتباط با آن وجود دارد.

نحوه مراجعه به یک NET Data Provider .
با استفاده از Solution Explorer در ویژوال استودیو دات نت ، می توان مدیریت مراجعات به اسمبلی هائی که مسئولیت NET Data Provider . را بر عهده دارند ، انجام داد . اسمبلی System.Data.dll ( بصورت فیزیکی یک فایل DLL است ) مسئولیت پیاده سازی SQL Server .NET Data Provider و OLE DB .NET Data Provider را از طریق Namespace های System.Data.SqlClient و System.Data.OleDb ، بر عهده داشته و اسمبلی System.Data.Odbc.dll چنین رسالتی را در رابطه با ODBC .NET Data Provider ، انجام خواهد داد . اسمبلی فوق ، در زمان نصب ویژوال استودیو دات نت ، نصب نخواهد شد . برای دریافت اسمبلی فوق ، می توان از طریق آدرس : http://msdn.microsoft.com/download ، اقدام و پس از کلیک نمودن بر روی NET Framework .، گزینه ODBC .NET Data Provider را انتخاب کرد . بدین ترتیب، زمینه دریافت فایل فوق فراهم می گردد . پس از دریافت اسمبلی فوق ، می توان بصورت دستی (Manaually) در یک پروژه به آن مراجعه و از ODBC .NET Data Provider فوق ، استفاده کرد .

SQL Server .NET Data Provider
Provider فوق ، لایه ای نازک بین یک برنامه و SQL Server ایجاد می نماید. با توجه به اینکه این Provider ، از پروتکل اختصاصی خود ( TDS: Tabular Data Stream ) بمنظور ارتباط با یک سرویس دهنده SQL استفاده می نماید ، حجم آن اندک و دستیابی به سرویس دهنده SQL مستقیما" و بدون استفاده از لایه های اضافه دیگر ، انجام می گیرد . بدین ترتیب کارائی و قابلیت توسعه سیستم ، بهبود پیدا خواهد کرد .

OLE DB .NET Data Provider
Provider فوق ، بمنظور اتصال به یک منبع داده از OLE DB و COM بصورت ذاتی استفاده می نماید . بنابراین می بایست از یک OLE DB Provider استفاده گردد که خود از OLE DB .NET Data Provider استفاده می نماید . بمنظور استفاده از OLE DB .NET Data Provider ، می بایست نوع Provider بصورت یک رشته ، مشخص گردد . واژه Provider در رشته فوق بیانگر نوع OLE DB منبع داده ئی است که به آن متصل می گردیم .
مثلا" "Provider = MSDAORA" ، شما را به یک بانک اطلاعاتی اوراکل متصل می نماید . در زمانیکه از SQL Server .NET Data Provider ، استفاده می شود ، نیازی به استفاده از واژه Provider نخواهد بود ( فرض می شود که SQL Server 7.0 و یا قبل از آن باشد) . جدول زیر نمونه هائی در این زمینه را نشان می دهد :

مثال
منبع داده

Provider = SQLOLEDB;Data Source = Tehran ;Initial
Catalog = pubs;User ID = sa ; Password = 999; SQL Server 6.5

Provider = MSDAORA ; Data Source = ORACLE817 ; User
ID = OLEDB ; Password = OLEDB ; Oracle server

Provider = Microsoft.Jet.OLEDB.4.0;
Data Source = C:MydbFirstdb.mdb ;
Microsoft Access database


ODBC .NET Data Provider
Provider فوق ، بمنظور اتصال به یک منبع داده از توابع API مربوط به ODBC بصورت ذاتی استفاده می نماید. این Provider ، بصورت یک اسمبلی مجزاء و با نام System.Data.Odbc.dll ، پیاده سازی شده و بصورت پیش فرض در تمپلیت های پروژه در ویژوال استودیو دات نت ، انتخاب نشده و می بایست بصورت دستی به آن مراجعه گردد .

مثال
Provider/Driver
منبع داده

Driver ={Microsoft ODBC for Oracle };
Server = ORACLE817;UID=OLEDB;
PWD = OLEDB; ORA ODBC Oracle Server

Driver = {Microsoft Access Driver (*.mdb)};
DBQ = C:MydbFirstdb.mdb ; Jet ODBC Microsoft Access database


خلاصه
برای انتخاب یک NET Data Provider . ، موارد زیر پیشنهاد می گردد :

اگر منبع داده از نوع SQL Server 7.0 و یا SQL Sever 2000 می باشد ، SQL Server .NET Data Provider انتخاب گردد .
اگر منبع داده از نوع SQL Server 6.5 و قبل از آن باشد ، OLE DB .NET Data Provider انتخاب گردد .
اگر منبع داده شامل هر نوع منبع داده نامتجانس باشد که امکان دستیابی به آن از طریق OLE DB Provider ، وجود داشته باشد ،
از OLE DB .NET Data Provider استفاده گردد .

اگر منبع داده شامل هر نوع منبع داده نامتجانس باشد که امکان دستیابی به آن از طریق ODBC driver ، وجود داشته باشد ،
از ODBC .NET Data Provider استفاده گردد .

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

در این مقاله شما در مورد کار با با پایگاه داده در 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) مقداررشته ای را برمی گرداند.

در این بخش شما به دانسته های بخش اول نیاز دارید. شئ بعدی که مورد بحث قرار می گیرد کلاس Data Adapter است. OleDBDataAdapter اطلاعات را می گیرد و یک ارتباط منطقی بین داده ها و کلاس Dataset ایجاد میکند. بطور کلی میتوان گفت Data Adapter در نظر اول معادل Data Command می باشد. روش استفاده از Data Adapter ها بطور معمول بصورت زیر تعریف می شود:

Dim objAdapter As New OleDBDataAdapter("Select * From Users",objConn)

 

ملاحظه می کنید که شئ Adapter از دو پارامتر- یکی رشته دستورات SQL و دیگری رشته ارتباطی - برای فرستادن دستورات به پایگاه داده استفاده می کند. بطور معمول DataAdapter برای پرکردن DataSetها و بروز کردن پایگاه بوسیله یک DataSet و اجرا کردن دستورات بکار می رود. اکنون نمای کلی از کاربرد فوق را در زیر می بینید:

Dim ds As DataSet = New DataSet()
objAdapter.Fill(ds,"Users")

 

متد Fill جهت اجرای دستور تنظیم شده در Data Adapter بکار می رود. بعبارت دیگر اطلاعات واکشی شده از پایگاه داده در یک جدول با نامی که ما تعیین می کنیم (Users) ذخیره می شود.
نکته ضروری اینست که تکنیک
Mappings در اکثر مواقع کارساز است. Mappings عبارت است از ساختن یک نام مستعار (Alias) برای نام جداول در یک Dataset. این aliasها هیچگونه تاثیری در منبع داده ندارد و وقتی که بوسیله DataAdapter فرستاده می شود بصورت خودکار بنام پیش فرض تبدیل میشود. این تکنیک باعث خوانایی کد و راهنمایی برنامه نویس در ارجاع های بعدی وتشخیص جداول فراخوانی شده میشود.

objAdapter.TableMappings.Add("adbtable","Users")

with objAdapter.tableMapping(0).ColumnMappings

     .Add("PID","ID"

     .Add("LAstName","Lnam"(

     .Add("StreetAddress","Addy"(

End with

objAdapter.Fill(ds

در تکنیک فوق بجای استفاده از عبارت ds.Tables("adbtable") میتوانیم Ds.Tables("Users") را بکار ببریم. در بخشهای آینده دیگر فواید استفاده از Mappings آمده است. همچنین کلاس CommandBuilder برای بهنگام کردن یک بانک که بوسیله Dataset صورت گرفته یک شیوه صحیح بشمار میرود:

Dim cmdBLD As New OleDBCommandBuilder(objAdapter)

 

که در عبارت فوق شئ objAdapter بعنوان پارامتر به دستور CommandBuilder فرستاده شده و سپس بوسیله متد Update منبع داده بهنگام می شود:

objAdapter.Update(ds,"Users")

 

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

 

<%@ Import NameSpace="System.data" %>

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

 

<Script Language="VB" Runat="Server">

 

Sub Page_Load( Sender As Object, E As EventArgs)

    Dim objConn As New OleDBConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=e:dbusers.mdb")

 

    objConn.Open()

    Dim ds As DataSet=New DataSet

    Dim objAdapter As New OleDBDataAdapter("Select * From Users",objConn)

    Dim objcmdBLD As New OleDBCommandBuilder(objAdapter)

    Obj.Adapter.Fill(ds,"Users")

End Sub

 

</Script>

 

 

 

 

 

 
مقایسه ADO و ADO.NET
 
 
 

شرکت مایکروسافت در ویژوال بیسیک ورژن 3 که در سال 1993 ارائه داد از Jet که هسته اصلی MS Access بود برای ایجاد ارتباط با بانکهای اطلاعاتی استفاده نمود البته برای استفاده بهتر برنامه نویسان ، Jet را در غالب مجموعه Object هائی تحت عنوان (Data Access Object ) آورد. در نسخه 4 و 5 ویژوال بیسک ، ماکروسافت روشی دیگر برای ارتباط با بانکهای اطلاعاتی تحت عنوان Remote Data Object = RDO را مطرح ساخت این روش برای برنامه نویسی Client / Server روش مناسبی بود.

در دوم سپتامبر سال 1998 وقتی ماکروسافت ویژوال بیسیک ورژن 6 را ارائه داد روش جدیدی تحت عنوان ( Activex Data Object ) ADO را مطرح ساخت در این روش که پایه و اساس آن OLEDB بود ماکروسافت بر خلاف DAO و RDO که ساختاری پیچیده و سلسله مراتبی داشتند، از ساختاری ساده و مجزا ( غیر سلسله مراتبی ) استفاده کرد و در واقع ADO هم شامل Object هائی است که برنامه نویس بتواند از آنها برای ایجاد ارتباط با بانکهای اطلاعاتی و انجام عملیات روی آنها استفاده کند و در تاریخ 13 February سال 2002 که ماکروسافت نسخه نهائی Visual Basic.Net را ارائه داده روشی جدید برای کار با بانکهای اطلاعاتی تحت عنوان ADO.Net را آورده است. این نسخه از ویژوال بیسیک برخلاف نسخه‎های قبل بطور کامل مباحث OOP را پشتیبانی می‎کند ( FULL OOP ) در واقع ADO.Net هم مانند ADO و RDO و ADO شامل ساختاری برای ارتباط و انجام عملیات روی بانکهای اطلاعاتی است. ADO.net همانند RDO و DAO و برخلاف ADO دارای ساختار سلسله مراتبی می‎باشد. در این مقاله می‎خواهیم به مقایسه ADO و ADO.net بپردازیم. ADO در ورژنهای مختلفی در این چند سال اخیر به بازار آمده است با آمدن SQL Server 2000 ورژن جدید ADO یعنی ورژن 2.6 از این محصول ارائه شد و اکنون هم ADO 2.6 در سایت ماکروسافت قابل Download می‎باشد.

آخرین ورژن ADO شامل 9 تا Object است که عبارتند از :

Connection
Command
Recordset
Parameter
Field
Error
Property
Record
Stream

آبجکت Connection امکان ارتباط با Data Source که شامل بانک اطلاعاتی است را فراهم می‎سازد. بعنوان مثال اگر بخواهیم از آبجکت Recordset برای اضافه و یا حذف و یا تغییر در محتوای رکوردی استفاده کنیم این آبجکت از Connection برای ایجاد ارتباط با بانک اطلاعاتی مثلاً SQL Server استفاده می‎کند اما همانطور که گفته شد و در شکل ملاحظه می‎شود ساختار آبجکتهای ADO بصورت سلسله مراتبی نیست و می‎‎توان مثلا Recordset ای ایجاد نمود که مستقل از آبجکت Connection بتواند با بانک اطلاعاتی ارتباط برقرار نماید.

در ADO علاوه بر آبجکتها، چهار Collection هم دیده می‎شود که عبارتند از :

Parameters
Fields
Properties
Errors

که هرکدام از آنها شامل آبجکتهائی از همان نوع هستند بعنوان مثال ساختاری که برای Recordset کشیده شده بیان کننده آن است که این آبجکت شامل Collection های Fields و Properties بوده و مثلاً Collection مربوط به Fields شامل آبجکتهای فیلد است.

آبجکت فیلد اطلاعاتی را راجع به یک ستون از Recordset در خود نگه داشته است.

در ADO آبجکت Command هم وجود دارد که از آن می‎توان برای اجرای یک فرمان SQL استفاده نمود البته بهترین روش برای اجرای Stored Procedure نیز استفاده از متد Execute مربوط به همین آبجکت است .

بعنوان مثال :

Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

cn.Open " Provider = sqloledb ; Data Source=serverName ; Initial Catalog = northwind ", "sa" , "password"
cmd.ActiveConnection = cn
cmd.CommandText = "sp_who"
cmd.CommandType = adCmdStoredProc

Set rs = cmd.Execute
Debug.Print rs(0)
rs.Close

از آبجکت Parameter هم برای مشخص کردن مقادیر پارامترهای ورودی یک ‌ Stored Procedure استفاده می‎کنیم.

آبجکت Property برای استفاده از Dynamic Property استفاده می‎شود که Property هایی هستند که وابسته به  Provider بوده و استاندارد نیستند .

از Record برای دسترسی به یک سطر از Recordset و ویژگیهای مربوط به آن سطر استفاده می‎کنیم .و آبجکت Stream هم به منظور ذخیره و بازیابی اطلاعات بصورت باینری در یک فیلد از Record در نظر گرفته شده است.

تا اینجا باساختار ADO آشنا شدیم حال به تشریح ADO.net می‎پردازیم .

ADO.Net مجموعه‎ای از Class های Interface ها و دستوراتی جهت مدیریت و کار با بانکهای اطلاعاتی است. در بحث Net . مجموعه‎ای از Class های مربوط به هم در یک غالب تحت عنوان ‌ Name Space ارائه شده است Net. شامل تعدادی Name Space است که در غالب .Net Framework قرار دارد. تمام ساختار ‌ ADO.net در چهار NameSpace قرار دارد که عبارتند از :

System.Data.SqlClient.
System.Data.OleDb.
System.Data.Odbc.
System.Data.

اگر بخواهیم از بانکهای SQL Server استفاده کنیم System.Data.SqlClient بهترین انتخاب است در این NameSpace امکاناتی فراهم شده تا بتوانیم Application های بنوسیم و در آنها با SQL Server ارتباط برقرار نمائیم بطوریکه برنامه‎ها از Performance بالائی برخوردار باشند.

در صورتی که کاربر بخواهد از بانکهای رابطه ‎ای دیگر نظیر Oracle استفاده کند میتواند از System.Data.OleDb بهره گیرد.

System.Data.Odbc برای ارتباط با بانکهای اطلاعاتی از طریق ODBC میباشد System.Data هم شامل Provider های خاص نظیر DataSet و DataTable است. ADO.net نیز شامل Object ها و Collection هائی است که از مهمترین آنها می‎توان موارد ذیل را شمرد:

OleDBConnection
OleDBCommand
OledbDataReader
OleDBDataAdapter
SelectCommand
InsertCommand
UpdateCommand
DeleteCommand
DataTable
DataRelation

OleDBConnection آبجکتی است شبیه به آبجکت Connection در ‌ ADO ، که امکان ایجاد ارتباط با بانک را فراهم می‎سازد این آبجکت متدهایی برای اجرای فرامین SQL نیز داراست .OleDBCommand هم مشابه آبجکت Command در ‌ ADO می‎باشد.

از این آبجکت نیز برای اجرای Stored Procedure و اجرای فرامین SQL استفاده می‎شود. آبجکت بعد OledbDataReader است که برای گرفتن اطلاعات از ‌Database استفاده می‎شود. البته لازم به ذکر است Resultset ای که با این روش ساخته می‎شود بصورت ReadOnly و Forwardonly می‎باشد. OleDBDataAdapter آبجکت جدیدی در Ado.net است که خود شامل چهار آبجکت برای انجام فرامین SQL می‎باشد که عبارتند از :

SelectCommand
InsertCommand
UpdateCommand
DeleteCommand

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

آبجکت بعدی Dataset است که مهمترین آبجکت در Ado.net می‎باشد این آبجکت شامل دو Collection به نام های ‌ DataTables و DataRelations است. همانطور که می‎دانید در ADO هم آبجکت Recordset داشتیم اینجا مجموعه‎ای از Recordset ها در داخل یک DataTables نگه داشته می‎شود و می‎توان بین DataTable های مختلف رابطه نیز ایجاد نمود که این روابط هم داخل یک مجموعه‎ای با نام DataRelations نگه داشته می‎شود. در واقع DataTable در ADO.net معادل همان RecordSet در ADO می‎باشد.

سیستم های چند پردازندهای Multi processing

کامپیوترها می‌توانند به جای یکCPU چندین CPU داشته باشند که در اینصورت به آنها سیستم multiprocessing میگویند.جهت استفاده از این سیستمهای نیاز به یک سیستم عامل خاص می‌باشد که بتواند چندین برنامه یانخهای یک فرایند  ) را به صورت موازی واقعی روی آنها اجراء کند .
سیستم عامل multitasking برای اجراء چند نخ بر روی یک CPU و سیستم عامل multiprocessing برای اجرای چند نخ بر روی چند CPU به کار می‌روند.
در سیستم چند پردازنده‌ای , CPUها باید بتواند ازحافظه  , امکانات ورودی و خروجی وگذرگاه BUS سیستم به صورت اشتراکی استفاده کنند .مزایای این سیستمهای عبارتند از :

  • زیاد شدن توان عملیاتی (throughput) .منظور از throughput تعداد کارهایی است که در یک واحد زمانی تمام می‌شوند. بدیهی است هر چقدر تعداد پردازنده‌ها بیشتر باشد تعداد کارهای تمام شده در یک پریود زمانی نیز بیشتر خواهد بود. البته این نسبت خطی نیست , مثلا اگر تعداد پردازنده‌ها n باشد سرعت اجراء برنامه‌ها nبرابر نمی‌شود چرا که بخشی از وقت پردازنده‌ها جهت مسائل کنترلی و امنیتی وسوئیچ کردنها به هدر می‌رود.
  • صرفه جویی در هزینه‌ها , از آنجا که پردازنده‌ها منابع تغذیه , دیسکها , حافظه‌ها و ادوات جانبی را به صورت مشترک استفاده می‌کنند در هزینه‌های سخت افزاری  صرفه‌جویی می‌شود.
  • تحمل پذیری در برابر خطا(fault-tolerant)سیستم های مالتی پروسسور قابلیت اعتماد را افزایش می‌دهند چرا که خرابی یک CPU سبب توقف سیستم نمی‌شود بلکه تنها سبب کند شدن آن خواهدشد .استمرار عمل با وجود خرابی نیازمند مکانیزمی است که اجازه دهد خرابی جستوجو شده , تشخیص داده شده و در صورت امکان اصلاح شود (یا کنار گذاشته شود). این توانایی به ادامه سرویس , متناسب با سطح بقای سخت افزار ,تنزل مطبوع یا graceful degradationنامیده می‌شود.
سیستمهای عاملهای چند پردازنده‌ای به دو دسته کلی متقارن و نامتقارن تقسیم می‌شوند.:br>
در سیستم چند پردازنده‌ای نامتقارن(Asymmetric Multi Processing = ASMP) یک پردازنده جهت اجراء سیستم عامل و پردازنده‌های دیگر جهت اجرای برنامه‌های کاربران استفاده می‌شود. از آنجا که کد سیستم عامل تنها روی یک پروسسور اجراء می‌شود, ساخت این نوع سیستم عامل نسبتا ساده است و از تعمیم سیستم عامل تک پردازنده‌‌ای به دست می‌آید.
این نوع سیستم عامل‌ها برای اجراء روی سخت افزارهای نامتقارن مناسب هستند, مانند کمک پردازنده‌ و پردازنده‌ای که به هم متصل هستند یا دو پردازنده‌ای که از تمام حافظه‌موجود مشترکا" استفاده نمی‌کنند . یکی از معایب سیستم عامل نامتقارن غیر قابل حمل بودن (non-portable) آن است . یعنی برای سخت افزارهای مختلف باید سیستم عاملهای مختلفی نوشته شود چرا که نامتقارنی می‌تواند حالات مختلف داشته باشد.

در سیستم چند پردازنده‌ای متقارن(symmetric Multi Processing = ASMP) سیستم عامل می‌تواند روی هر یک از پروسسورهای آزاد یا روی تمام پردازنده‌ها همزمان اجراء شود. در این حالت حافظه بین تمام آنها مشترک می‌باشد. تمام پردازنده‌ها اعمال یکسانی را می‌توانند انجام دهند. سیستم متقارن از چند جنبه نسبت به نوع نامتقارن برتری دارد:

  • از آنجا که سیستم عامل خود یک پردازش سنگین است اگر فقط روی یک CPU ها اجراء شود باعث می‌گردد که آن پردازنده همواره بار سنگینی داشته باشد, در حالیکه احتمالاً پردازنده‌های دیگر بی کار هستند لذا اجراء سیستم عامل روی چند پردازنده باعث متعادل شدن (balancing) بار سیستم می‌شود.
  • در سیستم نامتقارن اگر پردازنده اجراء کننده سیستم عامل خراب شود کل سیستم خراب می‌شود ولی در سیستم متقارن از این نظر امینت بیشتر است چرا که اگر یک پردازنده از کار بیفتد سیستم عامل می‌تواند روی پردازنده‌های دیگر اجراء شود.
  • بر عکس سیستم عامل نامتقارن , سیستم عامل قابل حمل( portable) بر روی سیستم های سخت افزاری مختلف است .
سیستم عاملSUNOS ورژن 4 از نوع نامتقارن و سیستم عامل Solaris2 ورژن و همچنین windows NTاز نوع متقارن می‌باشند.

وجود پردازنده‌های متعدد از دید کاربر مخفی است و زمانبندی نخها (Thread) یا فرآیندها (process) روی هر یک از پردازنده‌ها به عهده سیستم عامل است .
گرچه   Multithridingو  Multiprocessing امکانات مستقلی هستند ولی معمولاً با هم پیاده سازی می‌شوند. حتی در یک ماشین تک پردازنده‌ای , چند نخی کارایی را افزایش می‌دهد. همچنین ماشین چند پردازنده‌ای حتی برای فرآیندهای غیر نخی هم کارآمد است .

گاهی اوقات به سیستمهای چند پردازنده‌ای ,سیستمهای Tightly Coupled یا ارتباط محکم نیز گفته می‌شود. چرا که پردازنده‌ها کلاک  (Clock), گذرگاه و همچنین حافظه مشترکی دارند.


آشنایی با Bluetooth

تکنولوژی

Bluetooth که بعضی ها در فارسی آن را به دندانه آبی ترجمه کرده اند. استانداردی برای امواج رادیویی است که که برای ارتباطات بی سیم امپیوترهای قابل حمل و نقل (مانند lap top ها) و تلفن های همراه و وسایل الکترونیکی رایج استفاده می شوند این امواج برای فاصله های نزدیک استفاده می شوند و برای ارتباطات بی سیم تکنولوژی ارزانی محسوب می شوند. و بوسیله این تکنولوژی می توانید بین دو وسیله که دارای این تکنولوژی باشند به صورت بی سیم پیغام، عکس یا هر کلاً اطلاعات رد و بدل کنید.

رادیوی Bluetooth در داخل یک میکرو چیپ قرار دارد و در باند فرکانسی 2.4 گیگا هرتز عمل می کند. این تکنولوژی از سیستم "Frequency Hoping Spread Spectrum" استفاده می کند، که سیگنال آن 1600 بار در ثانیه تغییر می کند که کمک بزرگی برای جلوگیری از تداخل ناخواسته و غیر مجاز است. علاوه بر این بوسیله نرم افزار کد شناسایی وسیله طرف مقابل چک می شود. بدین ترتیب می توان اطمینان حاصل کرد که اطلاعات شما فقط به مقصد مورد نظر می رسد.

این امواج با دو قدرت وجود دارند. سطح قدرت پایین تر که محیطهای کوچک را می تواند پوشش دهد ( مثلاً داخل یک اتاق ) یا در نوع با قدرت بالاتر که رنج متوسطی را می تواند پوشش دهد. ( مثلاً کل یک خانه را متواند پوشش دهد. ) این سیستم هم برای ارتباط نقطه به نقطه و هم برای ارتباط یک نقطه با چند نقطه می تواند استفاده شود. دارای پهنای باند 720Kbs و 10 متر قدرت انتقال (در صورت تقویت تا 100 متر قابل افزایش است ) می باشد. این تکنولوژی که از سیستم گیرندگی و فرستندگی در جهت مناسب استفاده می کند. قادر است امواج رادیویی را از میان دیوار و دیگر موانع غیر فلزی عبور دهد. اگر امواج مزاحم دستگاه ثالثی باعث تداخل شود انتقال اطلاعات کند می شود ولی متوقف نمی شود.

با سیستمهای امروزی بیش از 7 دستگاه می توانند برای برقراری ارتباط با تولید کننده امواج در یک دستگاه دیگر فعال شوند. به این شیوه Piconet می گویند چندین piconet‌ را می توان به یکدیگر متصل کرد که یک scatternet را تشکیل می دهند.

 

Bluetooth SIG

سازمان Bluetooth SIG یا Special interest group در سال 1998 بوسیله سونی اریکسون، IBM، Intel، نوکیا توشیبا بوجود آمد. و پس از آن شرکتهای تری کام، Lucent، مایکروسافت و موتورولا و بیش از 2000 کمپانی دیگر به این سازمان پیوستند.

 

فرایند صدور جواز و گواهینامه:

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

SATA و IDE چه هستند؟

تکنولوژی دیسک سخت ( HARD DRIVE ) بر پایه پروسس موازی اطلاعات عمل می کنند و بدین معناست که اطلاعات به صورت بسته هایی به روشهاهی مختلف ( رندوم ) به باس اطلاعاتی فرستاده می شوند. اطلاعات از دیسک سخت در فاصله های زمانی کاملاً تصادفی می آیند و وارد باس اطلاعاتی شده و در نهایت به سمت مقصد نهایی می رود. IDE  مخفف Integrated Drive Electronics می باشد همینطور که می دانید رابط IDE گاهی با عنوان ATA شناخته می شود که مخفف AT Attachment است.

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

   همتای IDE در آن زمان SCSI ( که مخفف Small Computer System Interface  است) بود. SCSIکمی از IDE سریعتر است اما بسیار گرانتر است. به علاوه احتیاج به خرید یک ادپتر SCSI که ارزان هم نیست احتیاج دارید. به عبارت دیگر IDE بازار هارد دیسکهای کامپیوتر های شخصی را در انحصار خود گرفت. آنطر که به نظر می رسد کارخانه های معتبر حداقل یک تا دو سال دیگر به تولید هارد دیسکهای با تکنولوژی IDE ادامه دهند.

   هارد دیسکهای IDE از کابلهای ریبون پهنی استفاده می کنند که در داخل کامپیوتر بسیار به چشم می آیند و مرتب کردن این کابلها در داخل کامپیوتر  خود هنری است.

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

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

   هارد دیسکهای ساتا اطلاعات را با سرعت متوسط 150Mb بر ثانیه انتقال می دهند. اما مقاله های زیادی روی اینترنت در مورد هارد دیسکهای با سرعت 3Gb در ثانیه خواهید یافت.

   اما بیایید این دو را در عمل با یکدیگر مقایسه کنیم و ببینیم چرا صنعت در آینده تکنولوژی SATA را بر خواهد گزید.

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

آزمایش 1

آین آزمایش یک انتقال فایل معمولی بود. برای اینکه در هر سه کامپیوتر انتقال اطلاعات کاملاً  مشابه باشد در ویندوز XP شاخه :

c:windowssystem32

انتخاب شد در یک سیستم که در آن ویندوز XP اجرا می شود این شاخه در حدود 330 مگابایت حجم دارد. و حدود 2000 فایل در آن وجود دارد. یک فولدر جدیر در درایو C (پارتیشن C ) از هارد دیسک ایجاد شد سپس در DOS فرمان

copy>c:>windows> system32>*.*

اجرا شد که همانطور که می دانید این دستور همه فایلهای داخل شاخه system32 را در فولدر جدید کپی می کند و نتایج جالب بدست آمده آز این قرار بود:

 کامپیوتر و نوع هارد دیسک

زمان انتقال اطلاعات

 سیستم جدید اول همراه با IDE 127 ثانیه
 سیستم جدید دوم همراه با IDE 151 ثانیه
 سیستم قدیمی همراه با SATA 44 ثانیه

آزمایش 2

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

 کامپیوتر و نوع هارد دیسک

زمان بوت

 سیستم جدید اول همراه با IDE 28 ثانیه
 سیستم جدید دوم همراه با IDE 28 ثانیه
 سیستم قدیمی همراه با SATA 17 ثانیه

توجه: در این تستها به کارخانه سازنده دیسکها اشاره نشده است مطمئناً با در نظر گرفتن این فاکتور تغییر خواهد کرد ولی هر دو مدل IDE و SATA از هارد دیسک ساخت یک کارخانه استفاده شده است.

اساس کار مانیتورهای LCD :

اساساً سه تکنولوژی کریستال مایع در مانیتورهای LCD استفاده شده است که عبارتند از TN+film , IPS ,MVA مهم نیست که از کدام تکنولوژی استفاده شود همه آنها از یک اساس پیروی می کنند.

یک یا چند لامپ نئون روشنایی صفحه را تأمین می کنند برای مدلهای ارزانتر یک لامپ نئون استفاده شده است اما در مدلهای گرانتر ممکن است تا چهار لامپ یا حتی بیشتر پیدا کنید.

تعداد لامپهای نئون تأثیری در کیفیت تصویر ندارند. در عوض لامپ لامپ دوم به عنوان یک پشتیبان عمل می کند اگر برای لامپ اول مشکلی پیش بیاید. در واقع عمر مفید مانیتور افزایش می یابد از آنجا که یک لامپ نئون معمولاً 50000 ساعت کار میکند در حالیکه وسایل  الکترونیکی 100000 تا 150000 ساعت کار می کنند.

برای اینکه از یکنواختی صفحه تصویر اطمینان حاصل شود نور بوسیله یک سیستم منعکس کننده شدت یکسانی پیدا می کند اگر چه ممکن است در نگاه اول به نظر نرسد ولی عملکرد این صفحات فوق العاده پیچیده است در حقیقت 2 پانل وجود دارد یکی در هر طرف ساب پیکسلها که هر کدام با یک فیلتر قرمز سبز آبی پوشش داده شده است در یک مانیتور 15 اینچ تعداد ساب پیکسلها به "1024x768x3=2359296" میرسد هر سلول RGB بوسیله یک ترانزیستور که ولتاژ مختص به خودش را دارد کنترل می شود و این ولتاژ که در محدوده بزرگی تغییر می کند باعث می شود که کریستالهای مایع در هر ساب پیکسل در یک زاویه خاص بچرخند که این زاویه تعداد نورهای عبوری از هر ساب پیکسل را تعیین می کند ( منظور سه نور قرمز سبز و آبی است ). که در حقیقت سبب بوجود آمدن تصویر صفحه نمایش می شود. هدف نهایی کریستالها منحرف کردن نور برای عبور از میان فیلترهای پلاریزه است قبل از اینکه دیده شود اگر کریستالها همه در جهت فیلتر قرار گرفته باشند نور از آن عبور می کنند و برعکس اگر همه آنها عمود بر فیلتر قرار گرفته باشند صفحه نمایش سیاه باقی می ماند.

کریستال مایع:

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

در سال 1888 «Friedrich Reinitzer» یک گیاه شناس اتریشی در مورد نقشی که کلسترول در گیاهان بازی می کرد تحقیق می کرد. یکی از آزمایشات او در معرض حرارت قرار دادن ماده بود. او کشف کرد کریستالها در دمای 14/5 درجه  تبدیل به  سیال و یک حالت ابری می شدند و در دمای 178/5 درجه یک مایع واقعی بودند. او اکتشافش را با اتو لهمان یک فیزیکدان آلمانی که کشف کرده بود مایعات خواص مشابه کریستال دارند در میان گذاشت. به خصوص راجع به رفتار آن زمانیکه به آن نور تابانده می شد بنابراین نام آن بوسیله اتولهمان به این صورت نام گذاری شد: کریستال مایع.

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

نمای نزدیک یک کریستال مایع

FSB چیست؟

FSB مخفف Front side Bus است و همچنین تحت نامهای باس پرسسور و باس حافظه یا باس سیستم شناخته شده است. FSB  پروسسور را به حافظه اصلی ( رم ) و سایر اجزاء داخل کامپیوتر متصل می کند. FSB می تواند 133و 266 و 400 MHz یا بالاتر باشد. زمانی که کامپیوتر یا مادربرد می خرید یکی از مهمترین مشخصاتی که باید به آن توجه کنید FSB است.

سرعت FSB بوسیله بایاس سیستم یا جامپر ( jumper ) که روی مادربرد قرار دارد تعیین می شود. بیشتر مادربردها اجازه تغییر FSB را تا جاییکه کامپیوتر over clock نشود می دهند.

قفل شدن سخت افزار کامپیوتر، از دست دادن ( خراب شدن ) اطلاعات یا ایرادات دیگر ممکن است از بکار بردن یک سخت افزار قدیمی با یک مادربرد با FSB بالا باشد. بنابراین سازگاری قطعات کامپیوتر را با مادربرد و یا FSB مادربرد چک کنید. در ضمن ببینید که آیا FSB کامپیوتر شما به طور مناسب تنظیم شده است over clock کردن کامپیوتر معمولآ چنین اشکالاتی بوجود می آورد.

 

Security

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

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

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

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

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

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

انگیزه ها ی موجود شامل : جمع آوری هوشمندانه، دستبرد فکری ( عقلانی ) ،عدم پذیرش سرویس ها ، کنف کردن ،احساس غرور و مورد توجه واقع شدن ، با شد .

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

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

غیرفعال
فعال
نزدیک ( مجاور)
خودی ها ( محرمان )
عرضه ( توزیع )

ویژگی هر یک از انواع حملات فوق ، بشرح زیر می باشد :

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

فعال (Active) .این نوع حملات شامل : تلاش در جهت خنثی نمودن و یا حذف ویژگی های امنیتی ، معرفی کدهای مخرب ، سرقت و یا تغییر دادن اطلاعات می باشد . حملات فوق ، می تواند از طریق ستون فقرات یک شبکه ، سوء استفاده موقت اطلاعاتی ، نفوذ الکترونیکی در یک قلمرو بسته و حفاظت شده و یا حمله به یک کاربر تایید شده در زمان اتصال به یک ناحیه بسته و حفاظت شده ، بروز نماید . پیامد حملات فوق ، افشای اطلاعات ، اشاعه فایل های اطلاعاتی ، عدم پذیرش سرویس و یا تغییر در داده ها ، خواهد بود.

مجاور (Close-in) .این نوع حملات توسط افرادیکه در مجاورت ( نزدیکی ) سیستم ها قرار دارند با استفاده از تسهیلات موجود ، با یک ترفندی خاص بمنظور نیل به اهدافی نظیر : اصلاح ، جمع آوری و انکار دستیابی به اطلاعات باشد، صورت می پذیرد . حملات مبتنی بر مجاورت فیزیکی ، از طریق ورود مخفیانه ، دستیابی باز و یا هردو انجام می شود .

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

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

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

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

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

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

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


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

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

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

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

عملیات
منظور از عملیات ، مجموعه فعالیت های لازم بمنظور نگهداری وضعیت امنیتی یک سازمان است . در این رابطه لازم است ، به موارد زیر توجه گردد :

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

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

اشتباهات متداول مدیران سیستم
مدیران سیستم ، به افرادی اطلاق می گردد که مسئولیت نگهداری و نظارت بر عملکرد صحیح و عملیاتی سیستم ها و شبکه موجود در یک سازمان را برعهده دارند.در اغلب سازمانها افراد فوق ، مسئولیت امنیت دستگاهها ، ایمن سازی شبکه و تشخیص ضعف های امنیـتی موجود در رابطه با اطلاعات حساس را نیز برعهده دارند. بدیهی است واگذاری مسئولیت های متعدد به یک فرد، افزایش تعداد خطاء و اشتباه را بدنبال خواهد داشت . فشار عصبی در زمان انجام کار مستمر بر روی چندین موضوع متفاوت و بصورت همزمان ، قطعا" احتمال بروز اشتباهات فردی را افزایش خواهد داد. در ادامه با برخی از خطاهای متداولی که ممکن است توسط مدیران سیستم انجام و سازمان مربوطه را با تهدید امنیتی مواجه سازد ، آشنا خواهیم شد.

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

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

هر مرتبه که سیستم خود را ترک می کنید ، عملیات logout را فراموش نکنید .در این رابطه می توان یک زمان time out را تنظیم تا در صورت فراموش نمودن عملیات logout ، سیستم قادر به حفاظت خود گردد.

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

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

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

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

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

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

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

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

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

سیستم مورد نظر را تحت برنامه های موسوم به Intrusion Detection System قرار داده تا نرم افزارهای فوق بسرعت نقاط آسیب پذیر و ضعف های امنیتی را شناسائی نمایند.

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

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

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

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

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

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

تاثیر منفی بر سایر فعالیت های تجاری online سازمان
عاملی برای توزیع اطلاعات غیر مفید و غیر قابل استفاده در یک چرخه تجاری
عرضه اطلاعات حساس مشتریان به یک مهاجم و بمخاطره افتادن اطلاعات خصوصی مشتریان
آسیب جدی وجهه سازمان و بدنبال آن از دست دادن مشتریان و همکاران تجاری
مورد سوم : عدم تخصیص بودجه مناسب برای پرداختن به امنیت اطلاعات
مجاب نمودن یک مدیر سازمان مبنی بر اختصاص بودجه مناسب برای پرداختن به مقوله امنیت اطلاعات در سازمان از حمله مواردی است که چالش های خاص خود را خواهد داشت .مدیران، تمایل دارند بودجه را به حداقل مقدار خود برسانند، چراکه آنان یا اطلاعات محدودی در رابطه با تاثیر وجود ضعف های امنیتی در عملکرد سازمان را دارند و یا در برخی حالات بودجه ، آنان را برای اتخاذ تصمیم مناسب محدود می نماید.اینترنت یک شبکه جهانی است که فرصت های جذاب و نامحدود تجاری را برای هر بنگاه تجاری فراهم می نماید، با رعایت امنیت اطلاعات و حفا ظت مناسب از داده های حساس ،امکان استفاده از فرصت های تجاری بیشتری برای یک سازمان فراهم خواهد شد. با اختصاص یک بودجه مناسب برای پرداختن و بهاء دادن به مقوله امنیت اطلاعات در یک سازمان ، پیشگیری های لازم انجام ودر صورت بروز مسائل بحرانی ، امکان تشخیص سریع آنان و انجام واکنش های مناسب فراهم می گردد . بعبارت دیگر با در نظر گرفتن بودجه مناسب برای ایمن سازی سازمان ، بستر مناسب برای حفاظت سیستم ها و داده های حساس در یک سازمان فراهم خواهد شد . قطعا" تولید و عرضه سریع اطلاعات در سازمان های مدرن و مبتنی بر اطلاعات ، یکی از مهمترین شاخص های رشد در عصر حاضر بوده و هر آنچیزی که می تواند خللی در فرآیند فوق ایجاد نماید ، باعث توقف و گاها" برگشت به عقب یک سازمان ، می گردد.

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

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

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

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

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

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

تعریف کلی از اکسسAccess

تعریف کلی از اکسسAccess

اکسس ابزاری برای تولید بانکهای اطلاعاتی رابطه ای است. بانکهای اطلاعاتی امکان گردآوری انواع اطلاعات را برای ذخیره ‌سازی ،جستجو و بازیابی فراهم می‌کند.

اجزا بانک اطلاعاتی اکسس عبارتند از:

DataBase:

1.
Table
2.
Query
3.
Form
4.
Report
5.
Macros
6.
Modules

• ‏‏
Table :(جدول ) هر جدول برای نگهداری داده‌های خام بانک اطلاعاتی است.داده‌ها را شما در جدول وارد می‌کنید.جداول سپس این داده‌ها را به شکل سطرها و ستونهایی سازماندهی میکند.

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

Form :متداولترین روش استفاده از فرمها،برای ورود و نمایش داده‌ها است.

Report :گزارش ها می‌توانند بر اساس جدول ،پرس‌وجوها باشند ،قابلیت گزارش چاپ داده‌ها می‌باشدگزارشها را می‌توان بر اساس چند جدول و پرس‌وجو تهیه نمود تا رابطه بین داده‌ها را نشان داد.

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

Modules : محیط بسیار قوی و با کیفیت برای برنامه‌نویسی محاسبات و عملیات پیچیده روی سیستم بانک اطلاعاتی.

-----------------------------------

الف ‌- تعریف دادهData :
هرگونه اطلاعات لازم و کاربردی درباره یک موجودیت را یک داده می‌گویند.

ب‌- تعریف
Fild :
به هر ستون یک جدول که در بر گیرنده کلیه اطلاعات مربوط به آن ستون می‌باشد و بخشی از یک موجودیت را تشگیل میدهد فیلد گفته می‌شود.

ت‌- تعریف
Record :
به هر سطر یک جدول که اطلاعات مربوط به یک موجودیت را نشان می‌دهد ، رکورد گویند.

ث‌- تعریف پایگاه داده‌ای ارتباطی:
پایگاه داده‌های ارتباطی، مجموعه‌ای از جدول‌های داده است که یک فیلد مشترک در هر یک از جدولهای موجود دارد و از طریق آن می‌توان داده‌ها را بهم ربط داد.به این مدل از پایگاه داده‌ها ، پایگاه داده‌های ارتباطی
RelationShip می‌گویند.