ASP.NET2005
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

سری مقالات mohammad_moradi

4 مشترك

صفحه 3 از 3 الصفحة السابقة  1, 2, 3

اذهب الى الأسفل

سری مقالات mohammad_moradi - صفحة 3 Empty JavaScript چيست؟

پست  mohammad moradi الخميس نوفمبر 19, 2009 1:25 am

در اولين روزهاي تاسيس وب دستورات HTML بسيار ساده بود، ولي هنگامي که Web، شروع به پيشرفت نمود، طراحان خواستار کنترل بيشتري شده و در نتيجه مجموعه دستورات مورد نياز تهيه گرديد.سپس از آنجاييکه صفحات وب، بهتر است به صورت ديناميک و متحرک باشند، طراحان نيز خواستار ارتباط بين بينندگان سايت و صاحبان آن شدند، در نتيجه استفاده از دستورات HTML به تنهايي نياز آنها را برطرف نکرد و سپس شرکت Netscape براي ايجاد و کنترل ارتباط بين صاحبان سايت و بينندگان آن در صفحات Web از JavaScript کمک گرفت.
JavaScript يک زبان برنامه نويسي است که به وسيله آن ميتوان بين کاربر و سايت ارتباط برقرار نمود . زبان JavaScript به حروف بزرگ و کوچک حساس ميباشد. برخلاف شباهت اسمي موجود برنامه Java و JavaScript، هيچگونه شباهتي بين اين دو برنامه وجود ندارد. Java يک زبان برنامه نويسي بسيار کامل پيشرفته اي است که توسط شرکت sun microsystem تهيه شده و جاوا اسکریپت توسط شرکت netscape.( اساس Java در برنامه هاي client-side براي ايجاد appletها ميباشد، اين برنامه هاي کوچک توسط شبکه اينترنت دريافت شده و درون خود browserها اجرا ميشوند بطوريکه بعلت وجود قابليت همه گير Java، اين برنامه در تمامي browserهايي که قابليت اجراي Java را دارند، کار ميکنند). زبان JavaScript يک زبان برنامه نويسي "شي گرا" ميباشد. از آنجا که JavaScript يک متن ساده ميباشد، در نتيجه ميتوان از هر ويرايشگر متن کمک گرفت، در سيستم ويندوز اغلب کاربران از برنامه notepad استفاده ميکنند.امروزه کدهاي جاوا در صفحات وب براي زيبا نمايي يا افزايش پويايي صفحات کاربرد زيادي دارد.
mohammad moradi
mohammad moradi
Admin
Admin

تعداد پستها : 220
تاريخ التسجيل : 2009-10-31

بازگشت به بالاي صفحه اذهب الى الأسفل

سری مقالات mohammad_moradi - صفحة 3 Empty JavaScript چيست؟

پست  mohammad moradi الخميس نوفمبر 19, 2009 1:37 am

در اولين روزهاي تاسيس وب دستورات HTML بسيار ساده بود، ولي هنگامي که Web، شروع به پيشرفت نمود، طراحان خواستار کنترل بيشتري شده و در نتيجه مجموعه دستورات مورد نياز تهيه گرديد.سپس از آنجاييکه صفحات وب، بهتر است به صورت ديناميک و متحرک باشند، طراحان نيز خواستار ارتباط بين بينندگان سايت و صاحبان آن شدند، در نتيجه استفاده از دستورات HTML به تنهايي نياز آنها را برطرف نکرد و سپس شرکت Netscape براي ايجاد و کنترل ارتباط بين صاحبان سايت و بينندگان آن در صفحات Web از JavaScript کمک گرفت.
JavaScript يک زبان برنامه نويسي است که به وسيله آن ميتوان بين کاربر و سايت ارتباط برقرار نمود . زبان JavaScript به حروف بزرگ و کوچک حساس ميباشد. برخلاف شباهت اسمي موجود برنامه Java و JavaScript، هيچگونه شباهتي بين اين دو برنامه وجود ندارد. Java يک زبان برنامه نويسي بسيار کامل پيشرفته اي است که توسط شرکت sun microsystem تهيه شده و جاوا اسکریپت توسط شرکت netscape.( اساس Java در برنامه هاي client-side براي ايجاد appletها ميباشد، اين برنامه هاي کوچک توسط شبکه اينترنت دريافت شده و درون خود browserها اجرا ميشوند بطوريکه بعلت وجود قابليت همه گير Java، اين برنامه در تمامي browserهايي که قابليت اجراي Java را دارند، کار ميکنند). زبان JavaScript يک زبان برنامه نويسي "شي گرا" ميباشد. از آنجا که JavaScript يک متن ساده ميباشد، در نتيجه ميتوان از هر ويرايشگر متن کمک گرفت، در سيستم ويندوز اغلب کاربران از برنامه notepad استفاده ميکنند.امروزه کدهاي جاوا در صفحات وب براي زيبا نمايي يا افزايش پويايي صفحات کاربرد زيادي دارد.
mohammad moradi
mohammad moradi
Admin
Admin

تعداد پستها : 220
تاريخ التسجيل : 2009-10-31

بازگشت به بالاي صفحه اذهب الى الأسفل

سری مقالات mohammad_moradi - صفحة 3 Empty ASP.net یا PHP ؟ کدام زبان را یاد بگیریم؟

پست  mohammad moradi الخميس نوفمبر 19, 2009 1:37 am

یکی از سوالاتی که خیلی زیاد در بخش نظرات این وبلاگ پرسیده شده این بوده که برای شروع برنامه نویسی تحت وب ما کدوم زبان رو یاد بگیریم بهتر و قویتره؟

در برنامه نویسی ، syntax (گرامر زبان یا همون لغاتی که در زبان برای نوشتن دستورات بکار میره) خیلی مهم نیست و اون چیزی که زبان ها رو از هم متفاوت میکنه، دستورات ترکیبی و کتابخانه هایی است که هر کدام برای دسترسی به منابع سیستم در خود دارند.
در اینجا تفاوت های asp.net رو با Php می نویسم تا خودتون بهتر بتونید تصمیم بگیرید:
• ASP.net یک محصول مایکروسافتی است که در مجموعه دات نت ارائه شده است. اما php یک زبان تحت وب اوپن سورس است.
• برنامه های نوشته شده توسط asp.net روی سرور های ویندوز قابل اجرا هستند ، اما برنامه هایی که با php تولید میشوند تحت لینوکس اجرا میشوند. (البته تحت ویندوز هم میشه php نصب کرد، اما تحت لینوکس به صرفه تره . چون اجاره سرور لینوکس ارزان تره)
• ASP.net قابلیت encode کردن کدهای نوشته شده سمت سرور را با تبدیل آنها به یک فایل DLL فراهم ساخته است (code-Behind) تا حتی کسی که به سرور شما دسترسی دارد هم سورس های شما رو نبیند. اما php گزینه کامپایل ندارد . البته یک رمزنگار بنام zend برای php نوشته شده که کاری مشابه encode کردن را بر روی کدهای php انجام میدهد.
• قابلیت های شی گرایی در asp.net به دلیل قابلیت کامپایلی بودن آن و مجتمع شدن با سایر زبان های دات نت خیلی بهتر پیاده سازی شده است.
• Asp.net برای برنامه نویسی های سریع بسیار مناسب است. زیرا تعداد بسیار زیادی کتابخانه دارد که کامپوننت های مخصوص هر کاری را بصورت آماده در اختیارتان قرار می دهد . اما در برنامه نویسی با php شما مجبورید اکثر بخش های برنامه نویسی را خودتان بنویسید و این وقت زیادی از شما می گیرد. البته در پروژه های بزرگ ، بخش کدینگ چون یکبار نوشته شده و چندین بار استفاده میشود، در میزان وقتی که در مقایسه با asp.net می گذارید چندان فرقی نمی کند. در ضمن در php گاهی دستان شما بازتر است.
• IDE به محیطی برنامه نویسی زبان ها میگویند. ASP.net تحت Visual Studio نوشته میشود که در کشورهایی که ملزم به رعایت کپی رایت هستند 4000 دلار قیمت دارد. در حالی که IDE های موجود برای زبان PHP معمولا رایگان است. اما در ایران که خداروشکر این مورد با هزار تومن در درسترس است.
• بانک اطلاعاتی مورد استفاده برای زبان های دات نت معمولا SQL Server است و بانک اطلاعاتی مرتبط با PHP معمولا MySQL است. تا این اواخر MySQL امکان نوشتن stored Procedure را نداشت که گویا در نسخه جدیدش اضافه شده. قیمت لایسنس SQL server معمولا از my sql بالاتره.
• کدهای رایگان برای هر دو زبان در اینترنت به وفور یافت میشود و در این مورد نگرانی ندارید.
• امکانات URL-Rewriting در زبان PHP ساده تر از زبان های دات نتی قابل پیاده سازی است. برای اینکار در ریشه سایتی که نوشته اید یک فایل htaccess میگذارید و تنظیمات مربوط به URL Rewriting را داخل آن تنظیم میکنید. اما برای زبان های دات نتی شما باید این تنظیمات را روی سرور انجام دهید. به همین دلیل اگر پروژه ای نوشته باشید که بخواهید در آن از امکانات URL Rewriting استفاده کنید در حالت برنامه نویسی دات نتی، نیازمند اجاره کردن یک سرور هستید که اینکار برای پروژه های کوچک که با 20 مگابایت هاست کارشون راه میفته توجیه اقتصادی نداره.
(( URL-Rewriting به ایجاد آدرس های مجازی روی سرور میگن. مثلا آدرس وبلاگ هایی که شما در یک سرویس مانند پرشین بلاگ میسازید مجازی هستند. چون هیچ دامنه ای امکان داشتن یک میلیون ساب دامین واقعی رو نداره. پس اینکار توسط شبیه سازی انجام میشه که بهش URL Rewriting میگن.))
• PHP با زبان خاص خودش نوشته میشود و چندان هم مشکل نیست. اما ASP.net با استفاده از زبان های دات نتی قابل نوشتن است. که معروف ترین آنها vb.net و سی شارپ است. کدنویسی با استفاده از VB.net برای تازه کارهای برنامه نویسی خیلی ساده تر است و کد نویسی C# برای دانشجویان رشته نرم افزار که با زبان C آشنایی دارند توصیه میشه. معمولا هر برنامه نویسی با یکی از این زبان ها کار میکند و روی آن زبان متمرکز میشود. قدرت هر 2 زبان سی شارپ و VB.net در برنامه نویسی یکسان است و فقط سینتکس آنها متفاوت است.
خلاصه اینکه این دو زبان قدرت یکسانی دارند و فقط گاهی برای رسیدن به یک نتیجه خاص در پروژه تان ، با یکی ممکن است بیش از دیگری کد بنویسید و گاهی برعکس . اما در کل چیزی از هم کم ندارند و این پارامترهای تجاری است که تعیین میکند که در پروژه های بزرگ از کدام زبان استفاده شود .
البته من خودم با توجه به اینکه تو ایران هستم و با زبان های دات نتی بیشتر کار کردم ترجیح میدم با ASP.net کد بنویسیم. اما شاید اگر در موقعیت متفاوتی بودم زبان دیگری را انتخاب میکردم.
mohammad moradi
mohammad moradi
Admin
Admin

تعداد پستها : 220
تاريخ التسجيل : 2009-10-31

بازگشت به بالاي صفحه اذهب الى الأسفل

سری مقالات mohammad_moradi - صفحة 3 Empty Ajax :روشي نوين در طراحي برنامه هاي كاربردي تحت وب

پست  mohammad moradi الخميس نوفمبر 19, 2009 1:38 am

امروزه، معمولا وقتی صحبت از طراحی برنامه های تعاملی می شود،بیشتر توجه ها معطوف به وب است. کاربران دوست دارند که با راحتی و سرعتی که با Desktop application ها کار می کنند با Web application ها هم کار کنند. طراحان برنامه های کاربردی وب هم برای از بین بردن این شکاف ، روش های طراحی گوناگونی را پیشنهاد کرده اند.
نگاهی به Google Suggest و Google Maps بیندازید . وقتی روی قسمتی از نقشه zoom می کنید و یا بالا و پایین می روید همه چیز تقریبا به طور همزمان و بدون Load شدن مجدد صفحات انجام می شود. Gmail و Orkut نیز نمونه ای از روش طراحی جدید به نام Ajax هستند.
آجاکس شامل مجموعه ای از تکنولوژی های مختلف است که گرد هم آمده اند تا یک روش قدرتمند و جدید را برای طراحی برنامه های کاربردی وب ایجاد کنند

AJAX مخفف کلماتAsynchronous JavaScript + XML است
• standards-based presentation using XHTML and CSS;
• dynamic display and interaction using the Document Object Model;
• data interchange and manipulation using XML and XSLT;
• asynchronous data retrieval using XMLHttpRequest;
• and JavaScript binding everything together.

مدل کلاسیک برنامه های کاربردی وب به این صورت است که: کاربران توسط یک واسط، درخواست خود را به وب سرور ارسال می کنند. سرور پردازشی خاص برای درخواست مورد نظر کاربر انجام می دهد و سپس نتیجه را به صورت HTML به کاربر برمی گرداند. این مدل با کاربرد اولیه وب به عنوان واسط انتقال hypertext سازگار است اما تجربیات نشان می دهد که در طراحی برنامه های کاربردی لزوما استفاده از این مدل نتیجه مطلوب کاربران را نمی دهد!
وقتی که سرور مشغول پردازش درخواست ها است، کاربر چه می کند؟ مسلم است که انتظار می کشد! و این انتظار در هر مرحله از انجام کار بیشتر و بیشتر می شود! زمانی که یک فرم وب را در برنام کاربردی خود قرار می دهید کاربر باید تا زمان دریافت نتایج صبر کند.اصلا چه لزومی دارد که کاربر ببیند برنامه او به سمت سرور می رود؟! Ajax به این پرسش ها پاسخ می دهد:
یک برنامه کاربردی Ajax ، طبیعت start-stop-start-stop برنامه های کاربردی وب را با معرفی یک واسط به نام Ajax engine بین کاربر و سرور، از بین می برد. ممکن است به نظر برسد که افزودن یک لایه جدید به برنامه کاربردی، عکس العمل آن را کند کند اما نتیجه حاصله کاملا برعکس است! به جای load کردن یک صفحه وب در آغاز یک session ، مرورگر کاربر، Ajax engine را که توسط JavaScript نوشته شده است load می کند. این engine مسئولیت render کردن واسطی که کاربر می بیند و همچنین ارتباط با سرور از سمت کاربر را بر عهده دارد.این engine سبب می شود که تعامل کاربر با برنامه کاربردی، نا همگام(asynchronously ) با ارتباط کاربر با سرور انجام شود. بنابر این ،کاربر هرگز یک صفحه مرورگر خالی یا یک آیکون ساعت شنی برای انتظار نمی بیند و منتظر سرور نمی نشیند!
Google نقش مهمی را در طراحی و به کارگیری این شیوه جدید داشته است. Orkut , Gmail و آخرین نسخه آزمایشی Google Groups , Google Suggest و Google Maps به شیوه Ajax طراحی شده اند.(برای کسب اطلاعات بیشتر می توانید به تحلیل Gmail , Google Suggest و Google Maps مراجعه کنید.) بیشتر ویژگی های جالب که در Flickr مشاهده می کنید بر اساس همین شیوه است. متور جستجوی Amazon’s A9.com هم بر اساس این روش طراحی شده است.
این پروژه های موفق نشان می دهند که Ajax یک روش تئوری نیست بلکه کاملا کاربردی است!
منابع : ali1k.com adaptivepath wikipedia ajax.net
mohammad moradi
mohammad moradi
Admin
Admin

تعداد پستها : 220
تاريخ التسجيل : 2009-10-31

بازگشت به بالاي صفحه اذهب الى الأسفل

سری مقالات mohammad_moradi - صفحة 3 Empty Active Server Pages چیست؟

پست  mohammad moradi الخميس نوفمبر 19, 2009 1:39 am

با گذشت سالهای متمالی، ما تغییرات مهمی را در موضوع اینترنت مشاهده می نماییم. ابتدا، اینترنت به منظور یک سرویس دهنده ارتباطات متوسط برای بخشهای دولتی و موسسات دانشگاهی بود. با پیدایش www، اینترنت یک محیط دوستانه چند رسانه ای شد. در اصل سرویس دهنده اینترنت به عنوان یک مکان برای آدمهای با ذوق به منظور خلق صفحات خانگی بود. اما هر چه افراد بیشتری به اینترنت وارد شدند، اینترنت به یک منبع اطلاعاتی برای همه افراد تبدیل شد. وفقتی تعداد افراد Online به یک محدوده بحرانی رسید، شرکتهایی که محصولات و خدمات را می فروختند شروع به Spring up نمودن کردند.
این شرکتها هیچ حضور فیزیکی نداشتند، فقط یک حضور مجازی داشتند!. برای مثال شما میتوانید از سایت Amazon.com کتاب بخرید، اما شما قادر نخواهید بود که کتابفروشی Amazon.com را در نزدیکی خود پیدا کنید.
همانگونه که اینترنت به صورت یک فروشگاه موفق شد، طراحی صفحات وب سایت ها هم تغییر پیدا کرد. در روزهای اولیه وب،HTML به منظور ایجاد صفحات وب ایستا استفاده می شد. اما امروزه، صفحات وب ایستا به سرعت در حال منسوخ شدن میباشند. تصور کنید اگر Amazon.com تنها از صفحات وب ایستا تشکیل شده بود!؛ شما نمی توانستید فهرستهای کتاب جستجو کنید. شما نمی توانستید یک در خواست را به صورت Online صادر کنید، شما نمی توانستید توضیحات کاربران دیگر را بخوانید. این است دلیل یک سرمایه گذاری مطمئن که اگر Amazon.com از صفحات وب پویا(Active Server Pages) استفاده نمی کرد، نمی توانست کتابهای زیادی بفروشد.
شما میتوانید صفحات وب پویا را از راهای زیادی ایجاد نمایید. راه حل مایکروسافت برای ساختن صفحات وب پویا استفاده از Active Server Pages ها می باشد که بصورت مختصر بر آن ASP می گویند.
نکته: سایت های وب بزرگ زیادی از ASP به منظور سرویس دادن پویا به اسناد وب استفاده می کنند. برای مثال Buy.com, HotBot.com, Dell.com از ASP برای ساخت سایت های وب پویای محاوره ای خود استفاده کردند.
ASP شامل دوبخش می باشد: 1- کدهای برنامه نویسی 2- کدهای HTML. کدهای برنامه نویسی میتوانند به وسیله تعدادی از زبانهای دست نویس(Scripting Language) نوشته شوند.
واژه جدید: یک زبان دست نویس(Scripting Language) یک دستور زبان مخصوص است که برای اجرای دستورات بر روی کامپیوتر استفاده می شود.
زبانهای اسکریپت نویسی دست نویس(Scripting Language) مربوط به وب که محبوب می باشند عبارتند از: VBScript و JavaScript. وقتی یک صفحه ASP درست می کنید، شما میتوانید از یکی از چهار زبان برنامه نویسی استفاده کنید.(شبیه به دستورات زبان Visual Basic)
تعریف زبانهای دست نویس
VBScript: معمولترین زبان برنامه نویسی تحت وب برای ASP می باشد.
JScript: شبیه به JavaScript میباشد.
PerlScript: شبیه به زبان Perl میباشد.
Python: یک زبان اسکریپت نویسی قدرتمند می باشد که بطور معمول برای توسعه وب به کار می رود.
حال، چطور یک سرویس دهنده وب تعیین می کند که سرویس گیرنده یک صفحه HTML ایستا را درخواست کرده است یا یک صفحه ASP را؟ سرویس دهنده وب بوسیله پسوند صفحه وب، این موضوع را تعیین می نماید. به همین دلیل است که وقتی شما یک صفحه ASP را ایجاد می کنید باید پسوند آن را .asp قرار دهید. با این کار سرویس دهنده وب می فهمد که قبل از فرستادن خروجی برای سرویس گیرنده باید کد برنامه نویسی را پردازش نماید.
اجازه دهید به صورت مختصر به یک صفحه ASP نمونه نگاهی بیندازیم. کد زیر شامل کدهایی می باشد که زمان و وقت فعلی را نمایش میدهند. برای اجرای کد شما در ابتدا نیاز به یک خدمات دهنده وب بر روی کامپیوترتان دارید. در این مورد در قسمت اجرای صفحات ASP بحث خواهیم نمود. در حال حاضر کد زیر را به منظور این ببینید که یک صفحه ASP چگونه بنظر میرسد اجرا نمایید.
<%@ Language="VBScript" %>
<html>
<body>
The current time is:
<% Response.Write Time() %>
</body>
</html>
تجزیه و تحلیل: توجه کنید که کد ASP بوسیله علامت <% %> احاطه شده است. وقتی یک صفحه ASP از یک سرویس دهنده وب درخواست می گردد، سرویس دهنده وب به طور کامل همه کدهای مابین علامت <% %> را قبل از فرستان خروجی برای سرویس گیرنده پردازش می کند. کد بالا ممکن است شباهت زیادی به فایل HTML واقعی داشته باشد. در حقیقت، تنها کد ASP خطوط 1و 5 می باشد. خط 1 به سرویس دهنده وب اطلاع میدهد که زبان Scripting در این صفحه ASP بکار رفته است. آن هم از نوع VBScript. به خاطر بیاورید که یک صفحه ASP می تواند از یکی از چهار زبان اصلی اسکریپت نویسی استفاده نماید.برای تعیین کردن یک زبان اسکریپت نویسی، برای یک صفحه ASP، شما از فرمان Language @ استفاده می کنید. اگر می خواستید از JScript بجای VBScript در مثال بالا استفاده کنید، باید خط اول کد بالا را بصورت زیر بنویسید:
<%@ Language= "JScript" %>
خط دوم از کد بالا وقت و زمان فعلی را نشان میدهند. تابع ( ) Time یک تابع VBScript می باشد که در جلسات بعدی در موردش بیشتر بحث خواهد شد. قسمت Response.Write نتایج حاصل از تابع ( ) Time را به سرویس گیرنده به عنوان خروجی می فرستد.(در مورد شیء Response و متد Response.Write در جلسات بعدی بیشتر بحث خواهد شد.)
اگر یک سرویس دهنده وب مابکروسافت بر روی کامپیوترتان دارید، میتوانید کدهای بالا را آزمایش نمایید. یک فایل با نام current-time.asp ایجاد کرده و آنرا در دایرکتوری ریشه سایت وب(wwwroot) خود قرار دهید.
mohammad moradi
mohammad moradi
Admin
Admin

تعداد پستها : 220
تاريخ التسجيل : 2009-10-31

بازگشت به بالاي صفحه اذهب الى الأسفل

سری مقالات mohammad_moradi - صفحة 3 Empty وب سرور چیست؟

پست  mohammad moradi الخميس نوفمبر 19, 2009 1:59 am

کسانی که با صنعت IT آشنايی دارند تتما ً نام وب سرويس را شنيده اند. برای مثال، بيش از ۶۶ درصد کسانی که در نظر سنجی مجله InfoWorld شرکت کرده بودند بر اين توافق داشتند که وب سرويس ها مدل تجاری بعدی اينترنت خواهند بود. به علاوه گروه گارتنر پيش بينی کرده است که وب سرويس ها کارآيی پروژه های IT را تا ۳۰ در صد بالا می برد. اما وب سرويس چيست و چگونه شکل تجارت را در اينترنت تغيير خواهد داد؟

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

وب سرويس ها می توانند از پروتکل های زيادی در اينترنت استفاده کنند اما بيشتر از HTTP که مهم ترين آنهاست استفاده می شود. وب سرويس هر نوع کاری می تواند انجام دهد. برای مثال در يک برنامه می تواند آخرين عنوان های اخبار را از وب سرويس Associated Press بگيرد يا يک برنامه مالی می تواند آخرين اخبار و اطلاعات بورس را از طريق وب سرويس بگيرد. کاری که وب سرويس انجام می دهد می تواند به سادگی ضرب دو عدد يا به پيچيدگی انجام کليه امور مشترکين يک شرکت باشد.

وب سرويس دارای خواصی است که آن را از ديگر تکنولوژی ها و مدل های کامپيوتری جدا می کند. Paul Flessner، نايب رييس مايکروسافت در dot NET Enterprise Server چندين مشخصه برای وب سرويس در يکی از نوشته هايش ذکر کرده است. اول اينکه وب سرويس ها قابل برنامه ريزی هستند. يک وب سرويس کاری که می کند را در خود مخفی نگه می دارد. وقتی برنامه ای به آن اطلاعات داد وب سرويس آن را پردازش می کند و در جواب آن اطلاعاتی را به برنامه اصلی بر می گرداند. دوم، وب سرويس ها بر پايه XML بنا نهاده شده اند. XML و XML های مبتنی بر SOAP يا Simple Object Access Protocol تکنولوژی هايی هستند که به وب سرويس ها اين امکان را می دهد که با ديگر برنامه ها ارتباط داشته باشد تتی اگر آن برنامه ها در زبانهای مختلف نوشته شده و بر روی سيستم عامل های مختلفی در تال اجرا باشند.

همچين وب سرويس ها خود-توصيف هستند. به اين معنی که کاری را که انجام می دهند و نتوه استفاده از خودشان را توضيت می دهند. اين توضيتات به طور کلی در WSDL يا Web Services Description Language نوشته می شود. WSDL يک استاندارد بر مبنای XML است. به علاوه وب سرويس ها قابل شناسايی هستند به اين معنی که برنامه نويس می تواند به دنبال وب سرويس مورد علاقه در دايرکتوری هايی مثل UDDI يا Universal Description , Discovery and Integration جستجو کند. UDDI يکی ديگر از استاندارد های وب سرويس است.

نکات تکنولوژی وب سرويس
همانطور که در ابتدا توضيت داده شد يکی از دلايل اينکه وب سرويس از ديگر تکنولوژی های موجود مجزا شده است استفاده از XML و بعضی استاندارد های تکنيکی ديگر مانند SOAP، WSDL و UDDI است. اين تکنولوژی ها زمينه ارتباط بين برنامه ها را ايجاد می کنند به شکلی که مستقل از زبان برنامه نويسی، سيستم عامل و سخت افزار است. SOAP يک مکانيزم ارتباطی را بين نرم افزار و وب سرويس ايجاد می کند. WSDL يک روش يکتا برای توصيف وب سرويس ايجاد می کند و UDDI يک دايرکتوری قابل جستجو برای وب سرويس می سازد. وقتی اينها با هم در يک جا جمع می شوند اين تکنولوژی ها به برنامه نويس اجازه می دهد که برنامه های خود را به عنوان سرويس آماده کرده و بر روی اينترنت قرار دهد.

XML يا eXtensible Markup Language
XML يک تکنولوژی است که به شکل گسترده از آن پشتيبانی می شود، همچنين اين تکنولوژی Open است به اين معنی که متعلق به شرکت خاصی نيست. اولين بار در کنسرسيوم WWW يا W3C در سال ۱۹۹۶ برای ساده کردن انتقال ديتا ايجاد شده است. با گسترده شدن استفاده از وب در دهه ۹۰ کم کم متدوديت های HTML مشخص شد. ضعف HTML در توسعه پذيری (قابليت اضافه و کم کردن خواص) و ضعف آن در توصيف ديتاهايی که درون خود نگهداری می کند برنامه نويسان را از آن نااميد کرد. همچنين مبهم بودن تعاريف آن باعث شد از توسعه يافتن باز بماند. در پاسخ به اين اشکالات W3C يک سری امکانات را در جهت توسعه HTML به آن افزود که امکان تغيير ساختار متنهای HTML مهم ترين آن است. اين امکان را CSS يا Cascade Style Sheet می نامند.

اين توسعه تنها يک راه موقتی بود. بايد يک روش استاندارد شده، توسعه پذير و دارای ساختار قوی ايجاد می شد. در نتيجه W3C استاندارد XML را ساخت. XML دارای قدرت و توسعه پذيری SGML يا Standard Generalized Markup Language و سادگی که در ارتباط در وب به آن نياز دارد است.

استقلال اطلاعات يا جدا بودن متتوا از ظاهر يک مشخصه برای XML به تساب می آيد. متنهای XML فقط يک ديتا را توصيف می کنند و برنامه ای که XML برای آن قابل درک است بدون توجه به زبان و سيستم عامل قادر است به اطلاعات درون فايل XML هر گونه شکلی که مايل است بدهد. متنهای XML تاوی ديتا هستند بدون شکل خاص، بنابراين برنامه ای که از آن می خواهد استفاده کند بايد بداند که چگونه می خواهد آن اطلاعات را نمايش دهد. بنابراين نتوه نمايش يک فايل XML در يک PC با PDA و تلفن همراه می تواند متفاوت باشد.

وقتی يک برنامه با متن XML مواجه می شود بايد مطمئن باشد که آن متن تاوی ديتای مورد نظر خود است. اين اطمينان توسط برنامه هايی با نام XML Parser تاصل می شود. تجزيه کننده ها دستورات متن XML را بررسی می کنند. همچنين آنها به برنامه کمک می کنند تا متن های XML را تفسير کند. به صورت اختياری هر متن XML می تواند به متن ديگری اشاره کند که تاوی ساختار فايل XML اصلی باشد. به آن متن XML دوم DTD يا Document Type Definition گفته می شود.

وقتی فايل XML به DTD اشاره می کند برنامه تجزيه کننده فايل اصلی را با DTD بررسی می کند که آيا به همان ساختاری که در DTD توصيف شده شکل گرفته است يا خير. اگر يک تجزيه کننده XML بتواند يک متن را به درستی پردازش کند متن XML نيز به شکل صتيتی فرمت شده است.

وقتی که اکثر نرم افزارها امکانات وبی خود را افزايش دادند اين طور به نظر می رسد که XML به عنوان يک تکنولوژی جهانی برای فرستادن اطلاعات بين برنامه ها انتخاب شود. تمامی برنامه هايی که از XML استفاده می کنند قادر خواهند بود که XML ِ همديگر را بفهمند. اين سطت بالای تطابق بين برنامه ها باعث می شود که XML يک تکنولوژی مناسب برای وب سرويس باشد. چون بدون اينکه اتتياج به سيستم عامل و سخت افزار يکسان باشد می تواند اطلاعات را جابجا کند.

SOAP يا Simple Object Access Protocol
SOAP يکی از عمومی ترين استاندارد هايی است که در وب سرويس ها استفاده می شود. طبق شواهد اولين بار توسط DeveloperMentor، شرکت UserLand و مايکروسافت در سال ۱۹۹۸ ساخته شده و نسخه اول آن در سال ۱۹۹۹ ارايه شده است. آخرين نسخه SOAP، نسخه 1.2 بود که در دسامبر سال ۲۰۰۱ در W3C ارايه شد. نسخه 1.2 نشان دهنده کار زياد بر روی آن و نمايانگر اشتياق زياد صنعت IT برای استفاده از SOAP و وب سرويس است.

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

به عنوان يک پروتکل مبتنی بر XML، پروتکل SOAP تشکيل شده از يک سری الگوهای XMLی است. اين الگوها شکل پيغام های XML را که بر روی شبکه منتقل می شود را مشخص می کند. مانند نوع ديتاها و اطلاعاتی که برای طرف مقابل تفسير کردن متن را آسان کند. در اصل SOAP برای انتقال ديتا بر روی اينترنت و از طريق پروتکل HTTP طراتی شده است ولی از آن در ديگر مدلها مانند LAN نيز می توان استفاده کرد. وقتی که وب سرويس ها از HTTP استفاده می کنند به راتتی می توانند از Firewall عبور کنند.

يک پيغام SOAP از سه بخش مهم تشکيل شده است: پوشش يا Envelope ،Header، بدنه يا Body. قسمت پوشش برای بسته بندی کردن کل پيغام به کار می رود. اين بخش متتوای پيغام را توصيف و گيرنده آن را مشخص می کند. بخش بعدی پيغام های SOAP، Header آن است که يک بخش اختياری می باشد و مطالبی مانند امنيت و مسيريابی را توضيت می دهد. بدنه پيغام SOAP بخشی است که ديتاهای مورد نظر در آن جای می گيرند. ديتاها بر مبنای XML هستند و از يک مدل خاص که الگوها (Schemas) آن را توضيت می دهند تبعيت می کنند. اين الگو ها به گيرنده کمک می کنند تا متن را به درستی تفسير کند. پيغام های SOAP توسط سرورهای SOAP گرفته و تفسير می شود تا در نتيجه آن، وب سرويس ها فعال شوند و کار خود را انجام دهند.

برای اينکه از SOAP در وب سرويس استفاده نکنيم از تعداد زيادی پروتکل بايد استفاده شود. برای مثال XML-RPC تکنولوژی قديمی تری بود که همين امکانات را ايجاد می کرد. به هر تال، خيلی از سازندگان بزرگ نرم افزار SOAP را بر تکنولوژی های ديگر ترجيت دادند. دلايل زيادی برای انتخاب SOAP وجود دارد که خيلی از آنها درباره پروتکل آن است که فراتر از اين متن می باشد. سه برتری مهم SOAP نسبت به تکنولوژی های ديگر عبارتند از قابليت توسعه، سادگی و قابليت عملکرد داخلي.

پيغام های SOAP معمولا ً کدهای زيادی ندارند و برای فرستادن و گرفتن آن به نرم افزارهای پيچيده نياز نيست. SOAP اين امکان را به برنامه نويس می دهد تا بنا به نياز خود آن را تغيير دهد. در آخر بدليل اينکه SOAP از XML استفاده می کند می تواند بوسيله HTTP اطلاعات را انتقال بدهد بدون اينکه زبان برنامه نويسی، سيستم عامل و سخت افزار برای آن مهم باشد.

WSDL يا Web Services Description Language
استاندارد ديگری که نقش اساسی در وب سرويس بازی می کند WSDL است. همانطور که قبلا ً اشاره کرديم يکی از خواص وب سرويس ها توصيف خود آنهاست به اين معنی که وب سرويس دارای اطلاعاتی است که نتوه استفاده از آن را توضيت می دهد. اين توضيتات در WSDL نوشته می شود، متنی به XML که به برنامه ها می گويد اين وب سرويس چه اطلاعاتی لازم دارد و چه اطلاعاتی را بر می گرداند.

وقتی که سازندگان نرم افزار برای اولين بار SOAP و ديگر تکنولوژی های وب سرويس را ساختند دريافتند که برنامه ها قبل از اينکه شروع به استفاده از يک وب سرويس بکنند بايد اطلاعاتی درباره آن را داشته باشند. اما هر کدام از آن سازندگان برای خودشان روشی برای ايجاد اين توضيتات ابداع کردند و باعث شد که وب سرويس ها با هم هماهنگ نباشد. وقتی IBM و مايکروسافت تصميم گرفتند تا استاندارد های خود را يکسان کنند WSDL بوجود آمد. در ماه مارس سال ۲۰۰۱ مايکروسافت، IBM و Ariba نسخه 1.1 را به W3C ارائه کردند. گروهی از W3C بر روی اين استاندارد کار کردند و آن را پذيرفتند. هم اکنون اين تکنولوژی در دست ساخت است و هنوز کامل نشده. ولی هم اکنون اکثر سازندگان وب سرويس از آن استفاده می کنند.

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

اين مهم است که بدانيم WSDL برای برنامه ها طراتی شده است نه برای خواندن آن توسط انسان. شکل فايلهای WSDL پيچيده به نظر می آيد ولی کامپيوترها می توانند آن را بخوانند و تجزيه و تتليل بکند. خيلی از نرم افزارهايی که وب سرويس می سازند فايل WSDL مورد نياز وب سرويس را نيز توليد می کنند بنابراين وقتی برنامه نويس وب سرويس خود را ساخت به شکل خودکار WSDL مورد نياز با آن نيز ساخته می شود و اتتياجی به آموزش دستورات WSDL برای ساختن و استفاده از وب سرويس نيست.

UDDI يا Universal Description , Discovery and Integration
سومين استاندارد اصلی وب سرويس ها، يعنی UDDI، به شرکتها و برنامه نويسان اجازه می دهد تا وب سرويس های خود را بر روی اينترنت معرفی کنند. اين استاندارد در اصل بوسيله مايکروسافت، IBM و Ariba و پنجاه شرکت بزرگ ديگر ساخته شده است. با استفاده از UDDI شرکتها می توانند اطلاعات خود را در اختيار شرکت های ديگر قرار بدهند و مدل B2B ايجاد کنند. همان طور که از نام آن مشخص است شرکت ها می توانند وب سرويس خود را معرفی کنند، با وب سرويس ديگران آشنا شوند و از آن در سيستم های خود استفاده کنند. اين استاندارد جديدی است و در سال ۲۰۰۰ ساخته شده است و کنسرسيومی از شرکتهای صنعتی در تال کار بر روی آن هستند. نسخه دوم UDDI در ماه ژوئن سال ۲۰۰۱ ارائه شد و نسخه سوم آن در دست ساخت است.

UDDI يک متن مبتنی بر XML را تعريف می کند که در آن شرکت ها توضيتاتی درباره چگونگی کار وب سرويس شرکتشان و امکانات خود می دهند. برای تعريف اين اطلاعات از شکل خاصی که در UDDI توضيت داده شده استفاده می شود. شرکت ها می توانند اين اطلاعات را در UDDI شرکت خود نگهداری کنند و تنها به شرکت های مورد نظرشان اجازه دستيابی به آنها را بدهند يا آنها را در مکان عمومی و در اينترنت قرار دهند.

بزرگترين و مهمترين پايگاه UDDI پايگاه UDDI Business Registry يا UBR نام دارد و توسط کميته UDDI طراتی و اجرا شده است. اطلاعات اين پايگاه در چهار نقطه نگهداری می شود: مايکروسافت، IBM، SAP و HP. اطلاعاتی که در يکی از چهار پايگاه تغيير کند در سه تای ديگر نيز اعمال می شود.

اطلاعات درون اين پايگاه ها شبيه دفترچه تلفن است. White Pages که در آنها اطلاعات تماس شرکت ها و توضيتات متنی آنهاست، Yellow Pages تاوی اطلاعات طبقه بندی شده شرکتها و اطلاعات درباره توانايی های الکترونيکی آنها می باشد، Green Pages، تاوی اطلاعات تکنيکی درباره سرويس های آنها و نتوه پردازش اطلاعات شرکت آنها می باشد.

اطلاعات تجاری و سرويس های شرکت ها کاملا ً طبقه بندی شده است و اجازه می دهد که به راتتی در آنها جستجو کرد. سپس متخصصان IT می توانند از اين اطلاعات استفاده کرده و شرکت ها را برای خدمات بهتر به هم متصل کنند. با اين شرت UDDI امکان پياده سازی مدل B2B را ايجاد می کند و شرکتها می توانند از سرويس های يکديگر استفاده کنند.

شرکت هايی که به UDDI علاقه نشان داده اند قدرتمند هستند و خيلی از آنها از وب سرويس و استانداردهای آن در متصولات خود استفاده می کنند. NTT Communications of Tokyo يکی از شرکت هايی است که در تال اضافه کردن توضيتاتی به ساختار UDDI است. در هر تال تاضر شرکت ها هنوز کمی درباره وارد کردن خود در پايگاه های عمومی متتاط هستند. اين چيز عجيبی نيست. شرکتها ابتدا اين امکانات را فقط برای شرکای خود ايجاد می کنند. شرکتهای بزرگ نيز برای مديريت بر سرويس های خود و اشتراک آنها بين قسمت های مختلف از اين استاندارد استفاده می کنند. وقتی اين استاندارد به تد بلوغ خود برسد و کاربران با آن اتساس راتتی بکنند استفاده از آن نيز در مکان های عمومی فراگير خواهد بود.

اين تغيير رويه برای شرکت های بزرگی که B2B را به روش های قديمی اجرا کرده بودند مشکل است. بعضی نيز اشکال امنيتی بر اين روش می گيرند و مايل نيستند اطلاعاتشان را بدهند. اما با گذشت زمان و کامل شدن اين تکنولوژی و درک لزوم استفاده از آن شرکت ها چاره ای جز استفاده از آن ندارند.
mohammad moradi
mohammad moradi
Admin
Admin

تعداد پستها : 220
تاريخ التسجيل : 2009-10-31

بازگشت به بالاي صفحه اذهب الى الأسفل

سری مقالات mohammad_moradi - صفحة 3 Empty اس کیوال چیست؟)SQL

پست  mohammad moradi السبت نوفمبر 21, 2009 2:00 am

اس‌کیوال (SQL - Structured Query Language) مخفف نام یک زبان کامپیوتری ا‌ست که برای ایجاد، تغییر، و بازیابی داده‌ها و نیز عملیات بر روی آنها در مدل رابطه‌ای می‌باشد. این زبان به سمت مدل شی گرا- رابطه‌ای نیز پیشرفت کرده‌است. SQL استانداردهای ANSI/ISO را نیز دریافت کرده‌است.
تاریخچه SQL
منشا اصلی SQL به مقاله Edgar F. Codd تحت عنوان « مدل رابطه‌ای داده‌ها برای بانک‌های داده‌ای اشتراکی » که در سال ۱۹۷۰ منتشر شد،باز می‌گردد. در دهه ۷۰ گروهی از شرکت IBM در شهر San Jose بر روی سیستم پایگاه داده ای (System R) بدون توجه به این مقاله کار می‌کردند و زبان SEQUEL(Structured English Query Language) را به منظور عملیات و بازیابی اطلاعات ذخیره شده در System R ایجاد کردند. اگر چه SQL ناشی از تلاشهای کاد بود اما Donald D. Chamberlin و Raymond F. Boyce را به عنوان طراحان زبان SEQUEL می‌دانند
ادامه مطلب
سمینارهایی در زمینه فناوری بانک اطلاعاتی و مباحثاتی در مورد مزایای مدل رابطه‌ای جدید برگزار گردید. تا ۱۹۷۶ مشخص بود که IBM طرفدار جدی فناوری بانک اطلاعاتی رابطه‌ای بوده، توجه زیادی نسبت به زبان SQL دارد. تبلیغات در زمینه System/R باعث جذب گروهی از مهندسین در Menlo Park در کالیفرنیا گردید، و این گروه به این نتیجه رسیدند که تحقیقات IBM منجر به یک بازار تجاری برای بانک‌های اطلاعاتی رابطه‌ای خواهد گردید.
در ۱۹۷۷ این گروه شرکتی بنام Inc و Relational Software تأسیس نمودند تا یک DBMS رابطه‌ای بر اساس SQL بسازند. محصولی بنام Oracle در ۱۹۷۹ عرضه گردید، و اولین DBMS رابطه‌ای بوجود آمد. به این ترتیب محصول Oracle باعث گردید اولین محصول IBM برای مدت ۲ سال در بازار دچار رکود باشد. این محصول بر روی مینی کامپیوترهای VAx Digital’s اجرا می‌شد که خیلی از کامپیوترهای بزرگ IBM ارزان تر بودند.
امروزه این شرکت با نام Oracle Corporation اولین فروشنده سیستم‌های مدیریت بانک اطلاعاتی رابطه‌ای است. استادان آزمایشگاههای کامپیوتر در دانشگاه برکلی کالیفرنیا نیز در نیمه دهه ۱۹۷۰ مشغول تحقیق در زمینه بانک‌های اطلاعاتی رابطه‌ای بودن (مانند تیم تحقیق IBM)، گروه فوق نیز یک نمونه از DBMS رابطه‌ای ایجاد نمودند و سیستم خود را Ingres نام نهادند.
پروژه Ingres شامل یک زبان پرسش یا Query language بود بنام QUEL، اگر چه از SQL خیلی ساخت یافته تر بود، اما شباهت آن به زبان انگلیسی کمتر بود.
در حالیکه Oracle و Ingres برای ارائه محصولات تجاری در رقابت بودند، پروژه System/R شرکت IBM در تلاش بوده‌است که یک محصول تجاری با نام SQL/Data system (یاSQL/DS ) عرضه نماید. IBM موجودیت SQL/DS را در ۱۹۸۱ اعلام، و در ۱۹۸۲ شروع به عرضه محصول خود نمود. در سال ۱۹۸۳ IBM یک نسخه SQL/DS را برای VM/CMS (سیستم عاملی که در کامپیوتر بزرگ IBM غالبا استفاده شده بود)، اعلام نمود.
همچنین در سال ۱۹۸۳ شرکت IBM، محصول Database۲ یا DB۲ را معرفی نمود که یک DBMS رابطه‌ای بود برای سیستم‌های بزرگ آن شرکت. DB۲ تحت سیستم عامل IBM’s VMS(سیستم عامل مراکز کامپیوتری بزرگ) اجرا می‌شد. اولین نسخه DB۲ در ۱۹۸۵ عرضه گردید، و مسئولین IBM اعلام نمودند که این محصول یک برنامه استراتژیک برای تکنولوژی نرم افزاری IBM می‌باشد. DB۲ از آن تاریخ تاکنون DBMS رابطه‌ای شاخص بوده و IBM از آن حمایت نموده و زبان DB۲ SQL استاندارد عملی زبان بانک اطلاعاتی بوده‌است.
SQL استاندارد ANSI ((American National Standards Institute را در سال ۱۹۸۶ و ISO (International Organization for Standardization) را در سال ۱۹۸۷ اتخاذ نمود. استانداردهای مختلفی از SQL تاکنون عرضه شده که در زیر بیان می‌کنیم :
SQL۸۷
SQL۸۹
SQL۹۲
SQL۱۹۹۹
SQL۲۰۰۳
حوزه و وسعت
بسیاری از اصطلاحات توسعه یافته SQL تحت استاندارد بین المللی بوده و در نتیجه از آنها شبیه بقیه زبانهای استاندارد مثل محصولات شرکت اوراکل PL/SQL یا Sybase و SQL PL (مدل رویه‌ای) از شرکت IBM می‌باشد.
SQL برای کارهای ویژه و محدودی (گزارش گیری از داده‌ها در پایگاه داده رابطه‌ای) طراحی شده‌است. بر خلاف زبانهای دستوری مثل بیسیک یا سی که برای حل مسائل طراحی شده، SQL زبانی بر پایه اعلان است. زبانهای توسعه یافته‌ای مثل PL/SQL به دنبال کامل کردن زبان به هدف ایجاد زبان برنامه نویسی با حفظ مزیت‌های SQL می‌باشد. شیوه دیگر کار این است که به کدهای زبان برنامه نویسی اجازه دسترسی به پایگاه داده به کمک دستورات SQL داده شود مثلاً PostgreSQL به توابعش اجازه می‌دهد که درون کدهای Perl، Tcl و C نوشته شوند. گاهی به شوخی گفته می‌شود که SQL نه ساخت یافته‌است،نه محدود به گزارش گیری‌ها و اصلاً یک زبان نیست!
واژه‌های کلیدی SQL
واژه‌های کلیدی SQL به گروه‌های مختلفی تقسیم می‌گردد، در زیر به برخی از آنها اشاره می‌کنیم آنهایی که آشنا تر هستند را تنها با یک مثال شرح می‌دهیم:
• دستورات بازیابی داده (SELECT)
• دستورات عملیات داده (INSERT، UPDATE، MERGE،TRUNCAT و DELETE)
• دستورات تراکنش داده(COMMIT و ROLLBACK)
• دستورات تعریف داده(CREATE وDROP)
• دستورات کنترل داده(GRANT و REVOKE)
دستورات بازیابی داده
دستور SELECT جهت بازیابی برشی سطری از یک یا چند جدول به کار میرود. این دستور پرکاربردترین دستور DML می‌باشد و برای گزارش گیری‌های موثر مورد استفاده قرار می‌گیرد. ساختمان این دستور می‌تواند از اجزای زیر تشکیل شده باشد:
• FROM : مشخص کردن جداول و نحوه اتصال آنها به هم.
• WHERE : انتخاب سطر‌هایی با شرایط خاص.
• GROUP BY : ترکیب سطر‌ها با مقادیر مربوط به مجموعه‌ای از سطرهای کوچکتر.
• HAVING : مشخص کردن سطرهای ترکیبی.
• ORDER BY : مشخص کردن اینکه کدام ستونها برای مرتب کردن داده‌ها به کار می رود.
مثال ۱) نشان دادن رکوردهای تمام کتاب‌های بیش ۱۰۰٫۰۰ واحد قیمت. نتایج بر اساس نام کتاب مرتب می‌گردد. نماد ستاره(*) به معنای نشان دادن تمام ستون های(صفات) جداول(ها) می‌باشد:
SELECT * FROM books WHERE price > ۱۰۰٫۰۰
ORDER BY title
مثال ۲) این مسئله نحوه استفاده از جداول چندگانه را نشان می‌دهد. bk و ba نام مستعار جداول می‌باشد. در این مثال تعداد مولفان مختلف هر کتاب را نشان داده می‌شود:
SELECT bk.title, count(*) AS Authors
FROM books AS bk, book_authors AS ba
WHERE bk.book_number = ba.book_number
GROUP BY bk.title
دستورات عملیات داده
این دستورات به اختصار (DML( Data Manipulation Language گفته می‌شود و شامل دستوراتی همچون زیر است:
INSERT : اضافه کردن سطر‌هایی (تاپل‌هایی) به جدول موجود.
UPDATE : جهت تغییر مقادیر سطرهای موجود جدول.
MERGE : ترکیب کردن داده‌ها در جداول چندگانه این دستور جدید در SQL ۲۰۰۳ اضافه شده‌است، پیش از این پایگاه داده‌ها از دستور UPSERT استفاده می‌کردند.
TRUNCAT : تمام داده‌های جدول را حذف می‌کند(از دستورات غیر استاندارد اما پر کاربرد SQL می‌باشد)
DELETE : حذف سطر‌هایی از جدول موجود.
مثال ۳)
Example:
INSERT INTO my_table (field۱, field۲, field۳) VALUES (’test’, ‘N’, NULL);
UPDATE my_table SET field۱ = ‘updated value’ WHERE field۲ = ‘N’;
DELETE FROM my_table WHERE field۲ = ‘N’;
دستورات تراکنش داده
(START TRANSACTION (BEGIN WORK : جهت آغاز یک تراکنش پایگاه داده به کار می‌رود تا کنترل کند که تراکنش یا به پایان برسد یا اصلاً بی تأثیر باشد.
COMMIT : باعث می‌شود که تغییرات درون ترانش به طور دائمی ثبت گردد.
ROLLBACK : باعث می‌شود که تغییرات ار آخرین COMMIT یا ROLLBACK دور انداخته شود، در نتیجه وضعیت داده‌ها به قبل از درخواست دخییرات آنها بر می‌گردد.
این دو دستور در کنار هم برای کنترل و قفل گذاری به کار می‌رود و هنگام خروج از تراکنش این کنترل و قفل گذاری از بین می‌رود.
مثال ۴)
START TRANSACTION;
UPDATE inventory SET quantity = quantity - ۳ WHERE item = ‘pants’;
COMMIT;
دستورات تعریف داده
دومین دسته دستورات SQL دستورات تعرف داده یا (DDL (Data Definition Language می‌باشد. این دستورات به کاربر اجازه تعریف جداول جدید و اجزای آنها را می‌دهد. بیشتر SQLهای تجاری دستوراتی با این خصوصیات را دارند. مهم‌ترین گزینه‌های پایه‌ای DDL دستورات زیر است:
CREATE : ایجاد یک شی (مثلاً یک جدول).
DROP : حذف شی تعریف شده‌ای در پایگاه داده.
بیشتر پایگاه‌های داده دستور ALTER را نیز دارند که اجازه تغییر یک شی موجود را به شیوه‌های مختلف می‌دهد ( مثلاً اضافه کردن یک ستون به جدول).
مثال ۵)
CREATE TABLE my_table (
my_field۱ INT UNSIGNED,
my_field۲ VARCHAR (۵۰),
my_field۳ DATE NOT NULL,
PRIMARY KEY (my_field۱, my_field۲)
)
دستورات کنترل داده
سومین دسته از دستورات SQL دستورات کنترل داده یا (DCL (Data Control Languageمی باشد. این دستورات جنبه‌های اجازه دسترسی به داده‌ها را مشخص می‌کند و تعیین می‌کند کدام کاربر می‌تواند روی پایگاه داده عملیات انجام دهد یا کدام کاربر تنها می‌تواند قابلیت خواندن آنها را داشته باشد. دو دستور اصلی به قرار زیر است:
GRANT : اجازه دادن به یک یا چند کاربر برای اجرا کردن یک یا مجموعه‌ای ازدستورات بر روی یک شی.
REVOKE : حذف یا محدود کردن قدرت اجرای کاربران.
مثال ۶)
Example: SELECT * FROM inventory – Retrieve everything from inventory table
معایب SQL
در کاربرد عملی از SQL معایب زیر بر آن وارد است:
• دستورات نحوی (syntax) آن تا حدی مشکل است به نحوی که گاهی آنرا با COBOL مقایسه می‌کنند.
• شیوه استانداردی را برای دستورات چند تکه بزرگ ندارد.
• نمونه‌های مختلف آن‌ها که توسط فروشندگان مختلف ارائه می‌شود گاهی با هم سازگاری ندارد.
• وجود برخی دستورات بلند
• اشتباه گرفتن وظیفه‌های دستوراتی مثل UPDATE و INSERT .
محاسن SQL
ولی SQL دارای محاسنی هم هست:
• سازگاری با اکثر زبانهای دستوری
• سازگاری با اکثر پایگاه‌های داده مثل SQL Server,Oracle و حتی MS ACCESS
• پس از اینکه برنامه نویس این زبان را درک کرد استفاده از آن بسیار ساده‌است
• کاربرد در زبانهای جدید و پیشرفته
mohammad moradi
mohammad moradi
Admin
Admin

تعداد پستها : 220
تاريخ التسجيل : 2009-10-31

بازگشت به بالاي صفحه اذهب الى الأسفل

سری مقالات mohammad_moradi - صفحة 3 Empty جواب دات نت فریم ورک

پست  parisamoradi الأحد نوفمبر 29, 2009 1:03 am

وقتی شما یک برنامه نصب میکنید علاوه بر فایل های اصلی برنامه که در ProgramFiles نصب میشود ، تعدادی هم فایل هستند که در شاخه ویندوز نصب میشوند . این فایل ها همان درایور های مورد نیاز ویندوز برای اجرای برنامه شما هستند که توسط برنامه نویس نوشته نمیشوند، بلکه آنها قبلا تعریف شده اند و برنامه نویس از قابلیت های آن در برنامه خود استفاده میکند . پس برای اینکه برنامه شما کارکند باید آن فایل ها به ویندوز شما اضافه شوند.
Framework مجموعه ای از فایل های مورد نیاز سیستم عامل (شامل فایل های DLL و رجیستری و واسطه های استاندارد ارتباط برنامه ها بایکدیگر) است که برای اجرای برنامه های نوشته شده تحت دات نت ضروری میباشد. یعنی یک پکیج کامل از تمام dll های مورد نیاز برنامه هایی که با خود دات‌نت نوشته شده اند.
( توجه: برای اجرای برنامه های تحت جاوا نیز نیاز به نصب JAVA virtual machine دارید که در اصل فریم ورک جاوا است).
parisamoradi
parisamoradi
کاربر متوسط
کاربر متوسط

تعداد پستها : 23
تاريخ التسجيل : 2009-11-14

بازگشت به بالاي صفحه اذهب الى الأسفل

صفحه 3 از 3 الصفحة السابقة  1, 2, 3

بازگشت به بالاي صفحه


 
صلاحيات هذا المنتدى:
شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد