فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

دانلودمقاله امکانات اضافه شده به SQL استاندارد

اختصاصی از فایلکو دانلودمقاله امکانات اضافه شده به SQL استاندارد دانلود با لینک مستقیم و پر سرعت .

 

 

 

 

 

امکانات اضافه شده به SQL استاندارد
در این فصل امکاناتی که به SQL استاندارد ANSI اضلفه شده اند بررسی شده اند. اگرچه بیشتر نسخه های SQL در بسیاری از زمینه ها مطابق استاندارد هستند، اما بسیاری از فروشندگان امکاناتی را به شکلهای مختلف به SQL استاندارد اضافه کرده اند.
عناوین مهم این فصل عبارتند از:
• نسخه های مختلف SQL
• تفاوت بین نسخه های مختلف SQL
• سازگاری با ANSI SQL
• دستورات محاوره ای SQL
• استفاده از متغیرها
• استفاده از پارامترها
نسخه های مختلف SQL
نسخه های زیادی از SQL وجود دارند که توسط فروشندگان گوناگون عرضه می‌شوند. البته نمی‌توان تمام فروشندگان بانکهای اطلاعاتی رابطه ای ذکر نمود؛ اما تعداد کمی از آنها در این فصل بررسی شده اند. نسخه های مورد بررسی این فصل عبارتند از: dBASE, Sybase ، میکرسلفت SQL Server و ارکل. سایر فروشندگان محصولات اطلاعاتی عبارتند از: بورلند، IBM، اینفور میکس، progress، CA-Ingres و بسیار بیشتر.
تفاوت بین نسخه های مختلف SQL
اگرچه نسخه های فهرست شده در این فصل بانکهای اطلاعاتی رابطه ای هستند اما تفاوتهای ویژه ای بین آنها وجود دارد. این تفاوتها از طراحی محصول و شیوه مدیریت داه ها توسط موتور بانک اطلاعاتی ناشی می‌شوند؛ اما این کتاب برروی جنبه SQL این تفاوتها تمرکز دارد. همان گونه که توسط ANSI مشخص شده است، تمام نسخه های از SQL به عنوان زبان برقراری ارتباط با بانک اطلاعاتت استفاده می‌کنند. بسیاری از آنها نوعی امکانات اضافه دارند که خاص همان نسخه است.
توجه: تفاوتهای موجود در SQL توسط فروشندگان گوناگون پذیرفته شده اند تا کارایی و سهولت استفاده از ANSI SQL بهبود یابد. فروشندگان همچنین کوشش می‌کنند تا امکاناتی را اضافه کنند که نسخه تولیدی آنها نسبت به فروشندگان دیگر بهتر باشد و در نتیجه برای مشتریان جذاب تر شود.
حال که با SQL آشنا هستند، می‌بایست در تطبیق خود با تفاوت موجود در بین نسخههای مختلف مشکل چندانی نداشته باشید. به عبارت دیگر اگر بتوانید دستورات SQL را در نسخه Sybase بنویسید، در آن صورت می‌بایست بتوانید این کار را در اراکل نیز انجام دهید. به علاوه، دانستن SQL در نسخههای مختلف هیچ چیزی به غیر از افزایش کارایی خودتان به همراه ندارد.
در قسمتهای ذیل دستور SELECT در نسخه های استاندارد برخی فروشندگان مقایسه شده است:
قالب دستور استاندارد ANSI
select [DISTINCT] {* | COLUMN2]
[INTO HOST_VARIABLE]
FROM TABLE1 [, TABLE2]
[WHERE SEARCH_CONDITION]
GROUP BY [TABLE_ALIAS | COLUMN1 [ , COLUMN2]
[HAVING [SEARCH_CONDITION]
[{UNION | INTERSECT | EXCEPT} [ALL]
[CORRESPONDING [BY COLUMN1 [,COLUMN2] ) ]
QUERY SPEC | SELECT * FROM TABLE | TABLE_CONSTRUCTOR]
[ORDER BY SPORT_LIST]
قالب دستوری SQL BASE
SELECT [ALL | DISTINCT] COLUMN1 [ , COLUMN2]
FROM TABLE1 [, TABLE2]
[WHERE SEARCH_ CONDITION]
[GROUP BY COLUMN1 [ , COLUMN2]
[HAVING SEARCH_ CONDITION]
[UNION [ALL]]
[ORDER BY SPORT_LIST]
[FOR UPDATE OF COLUMN1 [ , COLUMN2]
قالب دستوری اراکل:
SELECT [ALL | DISTINCT] COLUMN1 [ , COLUMN2]
FROM TABLE1 [, TABLE2]
[WHERE SEARCH_ CONDITION]
[[START WITH SEARCH_ CONDITION]
CONNEST BY SEARCH_ CONDITION]
[GROUP BY COLUMN1 [ , COLUMN2]
[HAVING SEARCH_ CONDITION]
[UNION [ALL] | INTERSECT | MINUS} QOERY_SOEC]
[ORDER BY COLUMN1 [ , COLUMN2]
[NOWAIT]
قالب دستوری اینفورمیکسل:
SELECT [ALL] | DISTINCT | UNIQUE] COLUMN1 [ , COLUMN2]
FROM TABLE1 [, TABLE2]
[WHERE SEARCH_ CONDITION]
[GROUP BY COLUMN1 [ , COLUMN2] | INTEGER}
[HAVING SEARCH_ CONDITION]]
[ORDER BY COLUMN1 [ , COLUMN2]
[INTO TEMP TABLE [WITH NO LOG]]
همان گونه که از مقایسه قالبها مشاهده می‌کنید، اصول تمام دستورها یکسان است. تمام آنها عبارتهای SELECT، FROM، WHERE، GROUP BY، HAVING، UNION و ORDER BY را دارند. تمام این عبارتها اساسا به یک شکل عمل می‌کنند اما برخی از آنها گزینه هایی دارند که ممکن است در نسخههای دیگر موجود نباشد. این گزینه ها همان امکانات اضافه هستند.
سازگاری با ANSI SQL
فروشندگان کوشش می‌کنند تا نسخه هایشان با ANSI SQL سازگار باشد؛ اما هیچیک از آنها 100 درصد با استاندارد ANSI سازگار نیستند. برخی از فروشندگان دستورات یا توبعی را به ANSI SQL افزوده اند و ANSI SQL بسیاری از این دستورات یا توابع جدید را پذیرفته است. سازگاری با استاندارد بنا به دلایل زیادی برای یک فروشنده مفید است. یک فایده آشکار آن این است که یادگیری نسخه SQL فروشند آسان خواهد بود و دستورات SQL یک نسخه در نسخه های دیگر نیز قابل استفاده خواهد بود. قابلیت اجرای دستورات SQL در نسخههای دیگر یقینا یک عامل مهم در انتقال دستورات است. چرا یک شرکت باید مبلغ زیادی را برای تبدیل دستورات نسخه ای که با استاندارد سازگار نیست هزینه کند؟ چنانچه تغییرات بسیار زیادی در برنامه کاربردی لازم باشد و یادگیری نسخه SQL جدید دشوار باشد، در آن صورت احتمالا شرکتها تمایلی به انجام این کار از خود نشان نخواهند داد. بنابراین سازگاری با ANSI SQL در بیشتر موارد مساله ای نیست.
امکانات اضافه شده به SQL
عملا تمام فروشندگان امکانات اضافه ای را SQL افزوده اند. این گونه امکانات اضافی ویژه همان نسخه بوده و عموما قابل استفاده در نسخههای دیگر نیستند. اما امکانات اضافی استاندارد مشهور توسط ANSI بررسی و مرور شده و گاهی اوقات به عنوان بخشی از استاندارد جدید پیاده سازی می‌شوند.
PL/ SQL که محصول شرکت اراکل می‌باشد و Travsact- SQL که توسط Sybase و میکروسافت SQL Server مورد استفاده قرار می‌گیرد، دونمونه از امکانات اضافی استاندارد هستند. هر دو ویژگی به طور نسبتا مفصل در مثالهای این فصل بررسی می‌شوند.
مثالهایی از امکانات اضافی برخی نسخه های SQL
PL/ SQL و Travsact- SQL از زبانها برنامه سازی نسل چهارم به شمار می‌آیند. هر دو در مقایسه با SQL که یک زبان غیر پروسیجرال است، پروسیجرال می‌باشند.
زبان غیر پروسیجرال SQL دستورات ذیل را دارد:
• INSERT
• UPDATE
• DELETE
• SELECT
• COMIT
• ROLLBACK
آن دسته از نسخه های SQL کخ امکانات اضافی دارند، علاوه بر دستورات فوق و توابع SQL استاندارد، موارد ذیل را نیز در بر می‌گیرند.
• تعریف متغیرها
• افزایش متغیرها
• تعریف Cursor ها
• تبدیل تاریخ ها
• دستورات شرطی
• عملگرهای جانشین
• حلقه ها
• trigger ها
• مدیریت خطا
• رویه های ذخیره شده
این دستورات به برنامه ساز امکان می‌دهد تا در یک زبان محاوره ای کنترل بیشتری بر شیوه مدیریت داده ها داشته باشد.
توجه: SQL استاندارد اصولا یک زبان غیر پروسیجرال است، بدین معنا که دستورات برای سرویس دهنده بانک اطلاعاتی صادر می‌شود. سرویس دهنده بانک اطلاعاتی تصمیم می‌گیرد که دستور را چگونه به طور بهینه اجرا کند. زبانهای پروسیجرال نه تنها به برنامه ساز امکان می‌دهند که بازیابی یا پردازش داده ها را درخواست کند، بلکه برای سرویس دهنده دقیقا مشخص می‌کند که درخواست را چگونه اجرا کند.
Travsact- SQL
Travsact- SQL یک زبان پروسیجرال است، بدین معنا که چگونگی و محل پیدا کردن و پردازش داده ها توسط شما برای بانک اطلاعاتی مشخص می‌شود؛ SQL یک زبان غیر پروسیجرال است و بانک اطلاعاتی درباره شیوه محل انتخاب و پردازش داده ها تصمصیم می‌گیرد. برخی از قابلیت های مهم Travsact- SQL عبارتند از: تعریف متغیرهای محلی و عمومی، cursor ها، مدیریت خطا، triggerها، رویه ای های ذخیره شده، حلقه ها، عملگرهای جانشین، تبدیل تاریخ ها و گزارشهای خلاصه.
مثالی از یک دستور در ذیل نشان داده شده است:
IF (SELECT AVG (COST) FROM PRODUCTS_TBL) > 50
BEGIN
PRINT "LOWER ALL COSTE BY 10 PERCENT."
END
ELSE
PRINT "COSTS ARE REASONABLE."
END
تحلیل: دستور بالا یک دستور بسیار ساده در Travsact- SQL است. این دستور مشخص می‌کند که اگر میانگین در جدول PRODUCTS_TBL بزرگتر از 50 باشد، در آن صورت پیام "LOWER ALL COSTE BY 10 PERCENT." نمایش داده می‌شود. چنانچه کیانگین قیمت کمتر یا مساوی 50 باشد، پیام "COSTS ARE REASONABLE." نمایش داده می‌شود.
به کاربرد دستور IF … ELSE برای ارزشیابی شرطهای مقادیر داده ها توجه کنید. دستور PRINT جدید است. این گزینه های اضافی تنها بخش بسیار ناچیزی از قابلیت های Travsact- SQL هستند.
PL/ SQL
PL/ SQL محصوا اراکل است. همچون Travsact- SQL ، PL/ SQL نیز یک زبان پرسیجرال است. دستورات PL/ SQL به صورت بلوکهای منطقی سازماندهی می‌شوند. در هر بلوک سه قسمت وجود دارد که دو مورد از آنها اختیاری هستندو نخستین قسمت DECLARE است که اختیازی است. دومین قسمت PROCEDURE نام دارد. این قسمت دربرگیرنده دستورات اختیاری SQL است. این قسمت همان محل کنترل بلوک است. این قسمت یک قسمت اجباری ایت. قسمت سوم، EXCEPTION نام دارد. این قسمت تعیین می‌کند که برنامه خطاها و استثناهای تعریف شده کاربر را چگونه مدیریت کند. این قسمت نیز همچون قسمت نخست اختیاری است. عناوین مهم PL/ SQL عبارتند از: استفاده از متغیرها، ثابت ها، cursor ها، صفات مشخصات، حلقه ها، مدیریت استثناها، نمایش خروجیها برای برنامه ساز، کنترل تراکنشی، رویه های ذخیره شده، triggerها و package ها.
مثالی از یک دستور PL/ SQL در ذیل نشان داده شده است:
DECLARE
CURSOR EMP_CURSOR IS SELECT EMP_ID, LAST_NAME, FRIST_NAME, MID_INIT.
FROM EMPLOYEE_TAB;
BEGIN
OPEN EMP_CURDOR;
LOOP
FETCH EMP_CURSOR INTO EMP_REC;
EXIT WHEN EMP_CUPSOR&NOTEFOUND;
IF (EMP_REC. MID_INIT IS NULL) THEN
UPDATE EMPLOYEE_TBL
SET MID_INIT = 'X'
WHERE EMP_ID = EMP_REC. EMP_ID;
COMMIT;
END IF;
END LOOP;
CLOSE EMP_CURSORE;
END;
تحلیل: دو قسمت از سه قسمت ممکن در این مثال مورد استفاده قرار گرفته اند: قسمتهای DECLARE و PROCEDURE. نخست، cursor ی به نام EMP_CURSOR توسط یک پرس و جو تعریف می‌شود. دوم، متغیری به نام EMP_REC تعریف می‌شود که نوع داده آن همچون هر ستون cursor است. نخستین گام در قسمت PROCEDURE، بازکردن cursor است. پس بازشدن cursor هریک از رکوردهای آن با استفاده از دستور LOOP تا رسیدن به END LOOP پردازش می‌شوند. جدول EMPLOYEE_TAB باید برای تمامی سطرهای cursor به روز رسانده شود، چنانچه نام میانی یک کارمند تهی باشد. به روز رسانی سبب تغییر نام میانی به 'X' می‌شود. تغییرات اعمال شده و cursor در پایان بسته می‌شود.

 

فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

تعداد صفحات این مقاله  29  صفحه

پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید


دانلود با لینک مستقیم


دانلودمقاله امکانات اضافه شده به SQL استاندارد

نحوه Attach و Detach کردن دیتابیس SQL

اختصاصی از فایلکو نحوه Attach و Detach کردن دیتابیس SQL دانلود با لینک مستقیم و پر سرعت .

اموزش زیبا و تصویری برای اتچ کردن پایگاه داده در SQL2008


دانلود با لینک مستقیم


نحوه Attach و Detach کردن دیتابیس SQL

پروژه پایگاه داده SQL Server | کتابخــــــــانه 2

اختصاصی از فایلکو پروژه پایگاه داده SQL Server | کتابخــــــــانه 2 دانلود با لینک مستقیم و پر سرعت .

پروژه پایگاه داده SQL Server | کتابخــــــــانه 2


پروژه پایگاه داده SQL Server | کتابخــــــــانه 2 به همراه نمودارهای CDMوLDMوLDM با فایل های Power Designer

پروژه پایگاه داده کتابخــــــــانه 2 در SQL Server 2008 کد نویسی شده است ابتدا جدول های مورد نیاز هر پایگاه داده طبق استاندارد و نیاز سنجی طراحی شده و سپس کد نویسی شده است.دستورات این پایگاه داده بصورت فایل Text و SQL و طبق لیست زیر قابل دانلود میباشد.

1 - create database

2 - create table

3 - insert

4 - create view

5 - create procedure

6 - create trigger

7 - backup database

8 - attach

9 - SQL

 همچنین شامل Database کامل میباشد و نمودار ERD برای آن رسم شده است و نکته بسیار مثبت این پروژه فایل های Power Designer که بصورت هدیه برای شما قابل دانلود میباشد و شامل نمودارهایی به شرح زیر برای پایگاه داده کتابخانه است:

1. CDM- Conceptual Data Model (مدل مفهومی داده ها)
2. LDM- Logical Data Modelling(مدل منطقی داده ها)
3. PDM- Physical Data Model(مدل فیزیکی داده ها)

پروژه پایگاه داده کتابخــــــــانه برای درس پایگاه داده و آزمایشگاه پایگاه داده ها طراحی شده است و مناسب دانشجویان دوره کاردانی و کارشناسی رشته کامپیوتر و IT میباشد.

شناسنامه محصول


دانلود با لینک مستقیم


پروژه پایگاه داده SQL Server | کتابخــــــــانه 2

دانلود مقاله پایگاه داده sql server

اختصاصی از فایلکو دانلود مقاله پایگاه داده sql server دانلود با لینک مستقیم و پر سرعت .

 

 

 

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

 

اصول امنیت SQL سرور
SQL سرور واژه ها و مفاهیم زیادی که باید با آنها آشنا شوید این مفاهیم شامل مراحلی می شوند که SQL سرور با انجام آنها به یک کاربر امکان می دهد تا تحت مدهای امنیتی مختلف ، که به زودی بررسی خواهند شد ،بایک بانک اطلاعاتی ارتباط برقرار کند ابتدا باید واژه های بیشتری را فرا بگیرید این واژه ها عبارتند از :
• ID برقراری ارتباط ID برقراری ارتباط بخشی از اطلاعات اعتبار کاربر است که کاربر برای دستیابی به SQL سرور ارائه می دهد بسته به مد امنیتی مورد استفاده در سرویس دهنده ، کاربر ممکن است مجبور به ارائه ID نباشد .
• کلمه عبور این امر ممکن است بارز باشد ، اما هر کلمه عبور صرفا رشته ای از کاراکترها است که برای اعلام اعتبار کاربری که با یک ID خاص با سرویس دهنده ارتباط برقرارمی کند ، به سرویس دهنده ارسال می شود . بیشتر شما باید با قوانین یک کلمه عبور مناسب آشنا باشید اما لازم است از این امر مطمئن شویم ، کلمات عبور خوب باید حرفی – عددی باشند وطول آنها نیز حداقل شش کاراکتر باشد .
• ID کاربر – این هم یک مرحله دیگر برای دستیابی به یک بانک اطلاعاتی خاص است . ID برقراری ارتباط و کلمات عبور که در بالا بررسی شدند ، شما را تنها به سرویس دهنده می رسانند . اگر تنها تا به آن حد پیش روید ، به هیچ یک از بانک های اطلاعاتی آ”ن سرویس دهنده دستیابی نخواهید داشت . هر کاربری که به یک بانک اطلاعاتی دستیابی داشته باشد یک ID کاربری در آن خواهد داشت . در بیشتر موارد ID برقراری ارتباطID و کاربری یک چیز هستند . پس از بررسی درستی ID برقراری ارتباط توسط SQL سرور وتعیین اینکه کاربر مجاز به دستیابی سرویس دهنده است .وی می بایست یک بانک اطلاعاتی را برای کار انتخاب کند SQL سرور سپس ID برقراری ارتباط با را تمام ID های کاربری آن بانک اطلاعاتی مقایسه می کند تا اطمینان حاصل شود که کاربر به بانک اطلاعاتی دستیابی دارد اگر هیچ ID کاربریی مطابق با ID برقراری ارتباط وجود نداشته باشد SQL سرور اجازه پیشروی بیشتر را به کاربر نمی دهد .
• انواع نقش های مختلفی که می توانید به کاربربدهید عبارتند از :
• نقشهای از پیش تعریف شده سرویس دهنده
• نقش های از پیش تعریف شده کاربر
• نقش عمومی
• نقش های شخص بانک اطلاعاتی
• نقش – هر نقش روشی برای گروه بندی کاربران دارای کارهای مشابه به منظور آسان شدن مدیریت است نقش ها در نگارش های قدیمی تر SQL سرور تحت عنوان گروه مطرح بودند نقش ها درعمل هنوز همان کار را انجام می دهند .
به جای تخصیص مجوز به هر یک از کاربران بانک اطلاعاتی ، به راحتی می‌توانید یک نقش ایجاد کنید و پس از قرار دادن کاربران در آن نقش مجوزها را به آن نقش تخصیص دهید انجام این کار سبب صرفه جویی در وقت مدیریت می شود تنها کاری که باید انجام دهید آن است که وی را دراین نقش قرار دهید چو ن بسیاری از مدیران قدیمی SQL سرور هنوز مشغول کار هستند ، بازهم خواهید دید که از واژه گروه به جای نقش استفاده می شود .
• نقش برنامه کاربردی – این نقش یک نقش ویژه است که امکان دستیابی به داده های موجود در بانک اطلاعاتی را تنها به برنامه های کاربردی خاص می دهد . بیشتر مدیران SQL سرور سالها این نوع ویژگی را درخواست کرده اند کار یکه این نقش انجام می دهد آن است که کاربران را مجاب می کند تا از طریق برنامه کاربردی به داده های بانک اطلاعاتی دستیابی پیدا کنند این ویژگی از اهمیت خاصی برخوردار است . چرا که بیشتر کاربران قادر به استفاده از برنامه های کاربردی خاصی چون میکروسافت اکسس خواهند بود که می تواند با بانک اطلاعاتی ارتباط برقرار کند و دستیابی مستقیم به جداول موجود در آن را برای کاربران فراهم کند . این کار کاربران را مجاب به استفاده از برنامه کاربردی می کند که خصوصا برای دستیابی به داده ها نوشته شده و از دستیابی برنامه های کاربردی دیگر جلوگیری می شود .
• گروههای ویندوز NT امنیت SQL سرور شدیدا بر امنیت ویندوز NT بنا شده است گروههای ویندوز NT مستقیما به نقش های SQL سرور قابل نگاشت هستند ، از این رو هر کاربری که جزئی از آن گروه باشد ، به طور خودکار به SQL دستیابی خواهد داشت .

 

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

 

سیستم شناسایی ویندوز
در این روش مدیر سیستم برای کاربران یا گروههای کاربری ویندوز حق دسترسی تعیین می کندکامپیوترهای مشتری که ازسرویس های کامپیوتر مرکزی استفاده می کنند به این کامپیوتر متصل شده اند کاربر توسط سیستم عامل Windows یا NT که بر روی کامپیوتر مرکزی نصب شده است شناسایی می شود واگر اجازه دسترسی داشته باشد به آن متصل می گردد در این حالتServer SQL تنها کافی است بررسی کند که آیا کاربر متصل شده حق دسترسی به سرویس دهنده وپایگاه داده را دارد یا خیر ؟

 

سیستم شناساییServer SQL
در این روش هنگامی که یک درخواست برای اتصال فرستاده می شود Server SQL یکLogin ID او یک کلمه عبور دریافت می کند وسپس Login مزبور را با لیست Login های تعریف شده توسط مدیر سیستم مقایسه می کند .

 

برقراری ارتباط با سرویس دهنده و کاربران بانک اطلاعاتی
همچون تمام کارهای دیگری که در SQL سرور انجام می دهید روشهای مختلف زیادی برای ایجادID های برقراری ارتباط وID های کاربری وجود دارد نخستین روش برای انجام این کار از طریق یک ویزارد درEnterprise Manager SQL است .
این ویزارد شما راگام به گام در ایجاد یکID برقراری ارتباط ویک IDکاربری یاری می کند دلیل یکی کردن آنها آن است که درواقع در ارتباط بایکدیگر ایجاد می شوند روش دوم برای ایجاد ID ها استفاده از رویه های ذخیره شده است اگر از این روش استفاده کنید ،درصورت نیاز می توانید همان ID ها را در تمام سرویس دهند ها ایجاد کنید آخرین روش ،ایجاد مجزای آنها درEnterprise Manager SQL است .

 

ساختن Login
برای ساختن یک Login با مدل شناسایی SQL Server
1- سرویس دهنده مورد نظر خود را درکنسول درختی انتخاب کنید سیستمی از اشیاء آن سرویس دهنده در منطقه جزییات ظاهر می شود . ( شکل 1)
2- دکمه Wizard موجود بر روی نوار ابزار Enterprise Manager را کلیک کنید .Server SQL کاردرمحاوره ای Slect Wizard را نشان می دهد (شکل 2)
3- آیتم Creat Login Wizard موجود در قسمت Data bases را انتخاب نمود سپس دکمه ok را کلیک کنید اولین صفحه این ویزارد توسطServer SQL به نمایش در می آید ( شکل 3)
4- دکمه Next را کلیک کنید ویزارد صفحه ای رانشان می دهد که مدل شناسایی را از شما درخواست می کند (شکل 4)
5- ایتم دوم را انتخاب نمایید . ( شکل 5)
6- دکمه Next را کلیک کنید در صفحه بعدی شناسه کاربر و کلمه عبور را از شما درخواست می شود ( شکل 6)
7- کلمه Test ID رابه عنوان نام وارد کرده و دکمه عبور دلخواه خود را نیز تایپ کنید ( شکل 7)
8- دکمهNext را کلیک کنید ویزارد از شما سوال می کند که این Login را به کدامیک از رل های امنیتی نسبت دهد . (شکل 8 )
9- این Login را به رل System Adminstrator نسبت دهید (شکل 9 )
10- دکمه Next را کلیک کنید درصفحه بعدی باید پایگاه هایی را که این Login به آنها دسترسی دارد مشخص نمایید ( شکل 10 )
11- این Login را به پایگاه داده Aromatherapy نسبت دهید ( شکل 11 )
12- دکمه Next را کلیک کنید در صفحه نهایی ویزارد انتخاب های شما نشان داده می شوند (شکل 12 )
توجه : Login هایی که به رل های مخصوص سرویس دهنده مثل رل System Adminstators نسبت داده می شوند به تمام پایگاه داده دسترسی خواهند داشت حتی اگر درمرحله 11 آنها را انتخاب نکنید . (شکل 12)
13 دکمه Finish راکلیک کنید این ویزارد پیغامی مبنی بر اتمام کار و ساخته شدن Login جدید نمایش می دهد ( شکل 13 )

 

مدیریت Login ها
همانطور که بقیه اشیاء پایگاه داده به مدیریت و نگهداری نیاز دارند شناسه های کاربران نیز ممکن است در طول زمان تغییر کنند مثلا ممکن است لازم باشد که رل امنیتی نسبت داده شده به یک Login ویا پایگاه داده قابل دسترس آن راتغییر دهیدویا در بعضی شرایط ممکن است بخواهید یک Login رابه طور کامل حذف کنید تمام این کار ها با استفاده از Enterprise Manager بسیار ساده هستند .

 

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

 

کاربران پایگاه داده
هنگامی که با استفاده از ویزارد Login Creatیک Login می سازید ودسترسی به یک یا چند پایگاه داده را برای وی میسر می سازید این Login به طور اتوماتیک به لیست کاربران آن پایگاه ها اضافه می شود ولی وقتی یک پایگاه داده جدیدی می سازید Login های موجود به عنوان کاربران آن منظور نمی شوند بلکه خود شما باید Login های مورد نظر تان را به لیست کاربران آن پایگاه داده اضافه کنید .
خلاصه : در این مقاله اطلاعات مربوط به مدهای امنیتی SQL سرور و امنیت SQL سرور را بررسی نمودیم نکته ای که می بایست به هنگام تعیین امنیت در نظر داشته باشید آن است که باید شکاک باشید پس از آن با ID های برقراری ارتباط ID های کاربری ونقش ها آشنا شوید دانستن آنها برای چگونگی مدیریت مهم است چرا که چگونگی کنترل دستیابی به سرویس دهنده را تعیین می کند .

معرفی و مقدمه
1- برنامه های کاربردی Web SQL njection,
1.1 مرور کلی SQL njection شیوه ای است که برنامه های کاربردی Web به کار می رو د و مشتریان می توانند اطلاعات را از طریق query های SQL مرون اینکه ابتدا کاراکترهای مضرر را به صورت بالقوه ای stripping potentially جدا کنند فراهم می کند موضوع این مقاله در مورد آموزش تکنیکهای استفاده از برنامه های کاربردی Web که درمقابل SQLinjection آسیب پذیر هستند و مکانیسم محافظت در مقابل SQLinjection وبه طور کلی مشکلات معتبر سازی ورودی باشد .

 

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

 

1.3 به رمز در آوردن کاراکترها
در بیشترbrowser Web ها کاراکترهای نشانه گذاری وبسیاری سمبل های
دیگر باید قبل از اینکه دریک درخواست استفاده شوند به صورت URL به رمز در آورده شوند در این مقاله از کاراکترهای عادی ASCII در مثالها و عکسها استفاده شده است .

 

2- آزمون آسیب پذیری
2.1 آزمون جامع
چک کردن برنامه های کاربردی Web برای آسیب پذیری نسبت به SQLInjection به نظر ساده می رسد آنچه که ما می بینیم فرستادن یک quote اولین ارگومان script و برگرداندن یک صفحه سفید با یک خط که اشتباه ODBC را نشان می دهد به وسیله سرور می باشد ولی بررسی جزئیات آسیب پذیر بسیار مشکل است .
همه پارامترهای موجود در هرSCRIPT باید همیشه چک شوند برنامه نویسی کهScript A را طراحی می کند هیچ کاری با گسترش Script B ندارد و ممکن است در جایی SQL injection A که نسبت به مصون است B آسیب پذیر باشد حتی وقتی برنامه نویسی روی تابع A از Script کار می کند هیچ کاری به تابع Bدر همان Script ندارد ومثلا ممکن است تابع A به آسیب پذیر باشد ولی B نباشد وقتی کل یک برنامه کاربردی Web به وسیله یک نفر برنامه نویس طراحی کد گذاری و تست می شود ممکن است فقط و فقط یک پارامتر در یک Script در بین هزارانScript پارامتر در هزاران آسیب پذیر باشد که می تواند به خاطر این باشد که توسعه دهنده به هر دلیلی در مورد آن داده در آن محل مطابق اصول رفتار نکرده است پس هیچ گاه نمی توان مطمئن بود و باید چک کرد .

 

2.2 فرایند آ‎زمون
آرگومان هر پارامتر را به وسیله یک Quoteتنها و کلمات کلیدی SQL مثل WHERE جایگزین کنید هر پارامتر باید به صورت منفرد تست شود البته در هنگام تست هر پارامتر بقیه پارامترها باید بدون تغییر باشد ممکن است تصور شود که بهتر است برای ساده تر شدن داده های اصامی را پاک کرد و به خصوص باکار بردهایی که صفی از پارامترها دارند و مربوط به هزاران کاراکتر است ولی این کار باعث کارابنون کاربرد در زمینه های دیگر می شود که باعث می شود که نتوانیم مطمئن شویم که SQLinjecttion در آ‎ن محل ممکن است یا خیر برای مثال فرض می کنیم خط پارامتر زیرکاملا قابل دسترس و
تغییر ناپذیر است .
Contact Name= Maria% 20 Qanders & company Name = Alfreds % 20 futter kiste
وخط پارامتری زیر به شما اشتباه ODBC را می دهد .
Contact Name= Maria% 20 Qanders & company Name= 20 OR
که با چک کردن این خط :
Company Name =
به شما اشتپاهی را می دهد که می گویند باید مقدار Contact Name مشخص شود این خط :
Contact Name= Bad Contact Name& company Name=

 

فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

تعداد صفحات این مقاله 51   صفحه

پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید

 

 


دانلود با لینک مستقیم


دانلود مقاله پایگاه داده sql server