<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >
<channel>
<title>پروژه های ASP.NET(بر پایه سی شارپ)</title>
<link>http://sina383.blogfa.com/</link>
<description>در این وب لاگ می توانید مطالبی در مورد پروژه های سی شارپ و ASP.NET بدست آورید. www.bitasoft.ir</description>
<language>fa</language>
<generator>blogfa.com</generator>
<lastBuildDate>Mon, 27 Apr 2009 13:35:26 GMT</lastBuildDate>
<item>
<title>پروژه های دانشجویی در www.bitasoft.ir   </title>
<link>http://sina383.blogfa.com/post-42.aspx</link>
<description>&lt;TABLE id=table21 cellSpacing=0 cellPadding=0 width=561 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=561 height=9&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=5&gt;پروژه های دانشجویی &lt;SPAN lang=fa&gt;در &lt;/SPAN&gt;&lt;A href=&quot;http://www.bitasoft.ir/&quot;&gt;www.bitasoft.ir&lt;/A&gt;&lt;SPAN lang=fa&gt; &lt;/SPAN&gt;  &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Tahoma size=3&gt;(به همراه Document و Source برنامه و توضیحات کامل)&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;CENTER&gt;
&lt;TABLE id=table22 width=&quot;94%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P dir=rtl align=center&gt;&lt;B&gt;&lt;I&gt;&lt;FONT color=#ff0000 size=4&gt;
&lt;MARQUEE scrollAmount=4 direction=right bgColor=#f4f4f6 height=0&gt;در تعداد بالا قیمت پروژه ها به صورت تصاعدی پائین خواهد آمد - می توانید به همکلاسیهایتان هم پیشنهاد دهید تا قیمت پروژه شما کمتر شود!!!!!&lt;/MARQUEE&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/CENTER&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;لیست برنامه های آماده و پروژه های دانشجوئی انجام شده&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href=&quot;http://www.bitasoft.ir/ASP.NET.htm&quot;&gt;* (جدید) پروژه های &lt;SPAN lang=en-us&gt;ASP.NET&lt;/SPAN&gt; &lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href=&quot;http://www.bitasoft.ir/C_Sharp.htm&quot;&gt;* (جدید) پروژه های سی شارپ (&lt;SPAN lang=en-us dir=ltr&gt;C#&lt;/SPAN&gt;)&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;1- &lt;A href=&quot;http://www.bitasoft.ir/useful/VBA.htm&quot;&gt;برنامه های نوشته شده به زبان &lt;SPAN lang=en-us&gt;Visual Basic Application&lt;/SPAN&gt;  (برنامه نویسی اکسس)&lt;/A&gt;(موجود)&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;2- &lt;A href=&quot;http://www.bitasoft.ir/useful/VisualBasic/index.htm&quot;&gt;برنامه های نوشته شده به زبان &lt;SPAN lang=en-us&gt;Visual Basic 6&lt;/SPAN&gt; (موجود)&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;3- &lt;A href=&quot;http://www.bitasoft.ir/useful/VB2005.htm&quot;&gt;پروژه های نرم افزاری به زبان &lt;SPAN lang=en-us&gt;Visual Basic .net , Visual Basic 2005&lt;/SPAN&gt;&lt;/A&gt; ( موجود )&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;4- &lt;A href=&quot;http://www.bitasoft.ir/useful/Projects.htm&quot;&gt;پروژه های درس برنامه نویسی سیستمهای تجاری (موجود)&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href=&quot;http://www.bitasoft.ir/useful/KarAfarini_p.htm&quot;&gt;5- پروژه های کارآفرینی ( موجود)&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;6-&lt;A title=&quot;نمودارهای DFD, Data Flow Diagrams&quot; href=&quot;http://www.bitasoft.ir/useful/DataFlow.htm&quot;&gt; پروژه های درس تجزیه و تحلیل سیستمها&lt;/A&gt;  (موجود)&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;7- &lt;A href=&quot;http://www.bitasoft.ir/useful/Mostanad.htm&quot;&gt;پروژه های درس مستند سازی &lt;/A&gt;(موجود)&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;8- &lt;A href=&quot;http://www.bitasoft.ir/useful/MultimediaBuilder.htm&quot;&gt;پروژه های برنامه مولتی مدیا بیلدر (&lt;SPAN lang=en-us&gt;Multimedia Builder &lt;/SPAN&gt;)&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;&lt;SPAN lang=en-us&gt;9&lt;/SPAN&gt;- &lt;FONT color=#ff0000&gt; &lt;/FONT&gt;&lt;A href=&quot;http://www.bitasoft.ir/useful/ASP/index.htm&quot;&gt;&lt;FONT color=#ff0000&gt;پروژه های &lt;SPAN lang=en-us&gt;ASP&lt;/SPAN&gt; &lt;/FONT&gt;(وب سایتهای ساخته شده به زبان &lt;SPAN lang=en-us&gt;ASP&lt;/SPAN&gt; و پایگاه داده &lt;SPAN lang=en-us&gt; Access&lt;/SPAN&gt; - پروژه هایی کامل به زبان &lt;SPAN lang=en-us&gt;ASP&lt;/SPAN&gt;) (موجود)&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href=&quot;http://www.bitasoft.ir/useful/PaianNameh.htm&quot;&gt;10- پایان نامه های دانشجویی &lt;FONT color=#ff0000&gt;(موجود)&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href=&quot;http://www.bitasoft.ir/useful/Assembly.htm&quot;&gt;11- برنامه ها و پروژه های &lt;FONT color=#ff0000&gt;&lt;SPAN lang=en-us&gt;Assembly&lt;/SPAN&gt;&lt;/FONT&gt; ( زبان اسمبلی )&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href=&quot;http://www.bitasoft.ir/useful/WebSite_Prjects.htm&quot;&gt;12- پروژه های وب سایت های استاتیک و داینامیک&lt;FONT color=#ff0000&gt; (موجود)&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;!--webbot bot=&quot;Include&quot; u-include=&quot;http://www.bitasoft.ir/q_links/For_Terms.htm&quot; tag=&quot;BODY&quot; startspan --&gt;
&lt;CENTER&gt; 
&lt;TABLE id=table1 height=55 width=&quot;94%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P dir=rtl align=center&gt;&lt;A href=&quot;http://www.bitasoft.ir/useful/Terms.htm&quot;&gt;&lt;SPAN lang=en-us&gt;&lt;B&gt;**********************&lt;/B&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/CENTER&gt;&lt;!--webbot bot=&quot;Include&quot; endspan i-checksum=&quot;20944&quot; --&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=center&gt;&lt;A href=&quot;http://www.bitasoft.ir/images/Projects.jpg&quot;&gt;&lt;IMG height=116 alt=&quot;پروژه دانشجویی&quot; src=&quot;http://www.bitasoft.ir/images/Project.jpg&quot; width=142 border=0 longDesc=&quot;http://www.bitasoft.ir/useful/بهترین پروژه ها با کمترین قیمت&quot;&gt;&lt;/A&gt;&lt;BR&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;&lt;A title=&quot;پروژه های برنامه نویسی به زبانهای مختلف&quot; href=&quot;http://www.bitasoft.ir/useful/Projects.htm&quot;&gt;لیست پروژه های آماده تحویل&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt; &lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px&quot; align=right&gt; &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=561 height=10&gt;
&lt;P align=center&gt;&lt;B&gt;&lt;FONT face=Tahoma&gt;&lt;SPAN lang=en-us&gt;&lt;A href=&quot;http://www.bitasoft.ir/useful/index.htm&quot;&gt;&lt;&lt;&lt;&lt;&lt;Back to Index of all Links&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
<pubDate>Mon, 27 Apr 2009 13:35:26 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=42</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-42.aspx</guid>
</item>
<item>
<title>جایگاه چاپگر </title>
<link>http://sina383.blogfa.com/post-41.aspx</link>
<description>&lt;P align=justify&gt;در زمان انتخاب یک چاپگر ، اکثر متقاضیان علاوه بر در نظر گرفتن قیمت ، به پارامترهای دیگری نظیر سرعت و کیفیت نیز دقت داشته و تصمیم آنان برخاسته از توازن بین پارامترهای فوق ، می باشد . تولید کنندگان با ارائه چاپگرهای پیشرفته و تغییر در مدل های قبلی خود ، سعی در جلب رضایت مشتریان می نمایند .چاپگرهای جوهر افشان با امکان اتصال به دوربین های دیجتال ، تحولی بزرگ را در زمینه چاپ تصاویر ایجاد نموده اند. در مواردیکه از جوهر و کاغذ مخصوص چاپ تصاویر در چاپگرهای جوهر افشان استفاده گردد ، تصاویر چاپ شده دارای کیفیت بسیار بالائی خواهند بود.کیفیت چاپ در چاپگرهای لیزری تک رنگ ، یکی از نکات مهم و برجسته این نوع از چاپگرها محسوب می گردد. با توجه به امکانات ارائه شده توسط این نوع از چاپگرها نظیر حافظه وسینی محل استقرار کاغذ ، می توان از آنان در مواردیکه حجم عملیات چاپ بالا باشد،استفاده نمود. از چاپگرهای لیزری رنگی می توان بمنظور چاپ متن و تصاویر با کیفیت و سرعت مناسب ، استفاده نمود. بموازات کاهش قیمت چاپگرهای لیزری رنگی ، تعداد بیشتری از کاربران تمایل به استفاده و بکارگیری این نوع چاپگرها را پیدا نموده اند . &lt;BR&gt;&lt;/P&gt;</description>
<pubDate>Tue, 20 Jan 2009 23:17:39 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=41</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-41.aspx</guid>
</item>
<item>
<title>ارسال ایمیل در  Asp.NET 1 و Asp.NET 2</title>
<link>http://sina383.blogfa.com/post-40.aspx</link>
<description>&lt;DIV dir=rtl&gt;
&lt;P&gt;ارسال ایمیل یکی از پر کاربرد ترین اعمال سمت سرور می باشد . در عین حال این کار بسیار ساده بوده و در تمامی سایت ها مورد نیاز است .&lt;/P&gt;
&lt;P&gt;بنابراین بنده نحوه ارسال ایمیل در Asp.NET 1 و Asp.NET 2 را جداگانه توضیح خواهم داد: &lt;/P&gt;
&lt;P&gt;برای ارسال ایمیل در دات نت 1  ابتدا فضا نام System.Web.Mail را وارد صفحه کرده » imports system.Web.mail &lt;/P&gt;
&lt;P&gt;و سپس از کد زیر استفاده کنید :&lt;/P&gt;
&lt;P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;        Dim objmail As New MailMessage&lt;/P&gt;
&lt;P&gt;        objmail.From = mfrom&lt;/P&gt;
&lt;P&gt;        objmail.To = mto&lt;/P&gt;
&lt;P&gt;        objmail.Subject = subject&lt;/P&gt;
&lt;P&gt;        objmail.BodyEncoding = System.Text.Encoding.UTF8&lt;/P&gt;
&lt;P&gt;        objmail.Body = htmltext&lt;/P&gt;
&lt;P&gt;        objmail.BodyFormat = MailFormat.Text&lt;/P&gt;
&lt;P&gt;        SmtpMail.SmtpServer = mailserver&lt;/P&gt;
&lt;P&gt;  &lt;/P&gt;
&lt;P&gt;        objmail.Fields.Add(&quot;http://schemas.microsoft.com/cdo/configuration/smtpserver&quot;, mailserver)&lt;/P&gt;
&lt;P&gt;        objmail.Fields.Add(&quot;http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot;, 25)        &lt;/P&gt;
&lt;P&gt;        objmail.Fields.Add(&quot;http://schemas.microsoft.com/cdo/configuration/smtpauthenticate&quot;, 1)&lt;/P&gt;
&lt;P&gt;        objmail.Fields.Add(&quot;http://schemas.microsoft.com/cdo/configuration/sendusername&quot;, mfrom)&lt;/P&gt;
&lt;P&gt;        objmail.Fields.Add(&quot;http://schemas.microsoft.com/cdo/configuration/sendpassword&quot;, pass)&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;
&lt;P&gt;        Try&lt;/P&gt;
&lt;P&gt;            SmtpMail.Send(objmail)&lt;/P&gt;
&lt;P&gt;        Catch ex As Exception&lt;/P&gt;
&lt;P&gt;  &lt;/P&gt;
&lt;P&gt;        End Try&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;DIV dir=ltr&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;حال کافیست به جای مقادیر mfrom آدرس ایمیل ارسال کننده ، به جای mto آدرس ایمیل گیرنده ، به جای subject موضوع ایمیل، به جای Htmltext متن نامه ، به جای mailserver آدرس smtp server که معمولا mail.yoursite.com هست (در صورتی که از میل سرور اطلاعی ندارید از مدیر هاست سوال کنید) و به جای pass پسوورد ایمیل خود را وارد کنید .&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;
&lt;DIV&gt; &lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;ارسال ایمیل در دات نت 2 کمی تفاوت کرده است  :&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;برای اینکار ابتدا فضا نام System.Net.Mail را وارد صفحه کرده » imports system.net.mail &lt;/DIV&gt;
&lt;DIV dir=rtl&gt;&lt;BR&gt;سپس از کد های زیر استفاده کنید :&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr&gt; &lt;/DIV&gt;
&lt;DIV dir=ltr&gt;
&lt;TABLE cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;        Dim obj As New SmtpClient&lt;/P&gt;
&lt;P&gt;        Dim Mailmsg As New MailMessage&lt;/P&gt;
&lt;P&gt;        Mailmsg.To.Clear()&lt;/P&gt;
&lt;P&gt;  &lt;/P&gt;
&lt;P&gt;        Mailmsg.To.Add(New MailAddress(mto))&lt;/P&gt;
&lt;P&gt;        Mailmsg.From = New MailAddress(mfrom)&lt;/P&gt;
&lt;P&gt;        Mailmsg.Subject = subject&lt;/P&gt;
&lt;P&gt;        Mailmsg.BodyEncoding = System.Text.Encoding.UTF8&lt;/P&gt;
&lt;P&gt;        Mailmsg.IsBodyHtml = True&lt;/P&gt;
&lt;P&gt;        obj.Host = mailserver&lt;/P&gt;
&lt;P&gt;        Dim basicAuthenticationInfo As New System.Net.NetworkCredential(mfrom, pass)&lt;/P&gt;
&lt;P&gt;  &lt;/P&gt;
&lt;P&gt;        obj.UseDefaultCredentials = False&lt;/P&gt;
&lt;P&gt;  &lt;/P&gt;
&lt;P&gt;        obj.Credentials = basicAuthenticationInfo&lt;/P&gt;
&lt;P&gt;  &lt;/P&gt;
&lt;P&gt;        Mailmsg.Body = htmltext&lt;/P&gt;
&lt;P&gt;        Mailmsg.IsBodyHtml = True&lt;/P&gt;
&lt;P&gt;        Try&lt;/P&gt;
&lt;P&gt;            obj.Send(Mailmsg)&lt;/P&gt;
&lt;P&gt;        Catch ex As Exception&lt;/P&gt;
&lt;P&gt;  &lt;/P&gt;
&lt;P&gt;        End Try&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr&gt; &lt;/DIV&gt;
&lt;DIV dir=ltr&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl&gt;حالا کافیست به جای مقادیر mfrom آدرس ایمیل  ارسال کننده ، به جای mto آدرس ایمیل گیرنده ، به جای subject موضوع ایمیل، به جای Htmltext متن نامه، به جای mailserver آدرس smtp server که معمولا mail.yoursite.com هست و به جای pass پسوورد ایمیل ارسال کننده را وارد کنید .&lt;/DIV&gt;&lt;/DIV&gt;</description>
<pubDate>Thu, 13 Nov 2008 07:17:25 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=40</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-40.aspx</guid>
</item>
<item>
<title>کتاب کامل و جامع آموزشی asp.net</title>
<link>http://sina383.blogfa.com/post-39.aspx</link>
<description>&lt;FONT size=5&gt;&lt;STRONG&gt;دانلود یک کتاب آموزشی asp.net برای شما&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;این کتاب رو تو دو بخش گذاشتم که راحت بتونین داونلودش کنین. به صورت فایل اجرایی هم زیپش کردم که نیاز به برنامه خاصی برای آنزیپش نداشته باشین.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;A href=&quot;http://www.bitasoft.ir/&quot;&gt;&lt;IMG height=425 alt=&quot;انجام پروژه های ASP.NET در تمامی سطوح, 09131253620&quot; src=&quot;http://kilid.persiangig.com/document/Bitasoft_ASP_NET_Projects.jpg&quot; width=319 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;لینک های دانلود: &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;
&lt;TABLE class=list_table cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR class=list_tr&gt;
&lt;TD class=img_td vAlign=top&gt;&lt;SPAN class=left_img&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class=name_td&gt;&lt;A href=&quot;http://kilid.persiangig.ir/&quot;&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD class=size_td align=right&gt;- &lt;/TD&gt;
&lt;TD class=last_td&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=list_tr&gt;
&lt;TD class=img_td vAlign=top&gt;&lt;SPAN class=left_img&gt;&lt;IMG alt=&quot;[   ]&quot; src=&quot;http://img.persiangig.com/img/in/exe.gif&quot;&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class=name_td&gt;&lt;A href=&quot;http://kilid.persiangig.ir/document/Apress.Beginning.ASP.NET.2.0.E.Commerce.in.C.Sharp.2005.From.Novice.to.Professional.Oct.2005.part1.exe&quot;&gt;Apress......Professional.Oct.2005.part1.exe&lt;/A&gt;&lt;/TD&gt;
&lt;TD class=size_td align=right&gt;7.1M&lt;/TD&gt;
&lt;TD class=last_td&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=list_tr&gt;
&lt;TD class=img_td vAlign=top&gt;&lt;SPAN class=left_img&gt;&lt;IMG alt=&quot;[   ]&quot; src=&quot;http://img.persiangig.com/img/in/rar.gif&quot;&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class=name_td&gt;&lt;A href=&quot;http://kilid.persiangig.ir/document/Apress.Beginning.ASP.NET.2.0.E.Commerce.in.C.Sharp.2005.From.Novice.to.Professional.Oct.2005.part2.rar&quot;&gt;Apress....to.Professional.Oct.2005.part2.rar&lt;/A&gt;&lt;/TD&gt;
&lt;TD class=size_td align=right&gt;5.7M&lt;/TD&gt;
&lt;TD class=last_td&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;</description>
<pubDate>Sun, 09 Nov 2008 09:14:37 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=39</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-39.aspx</guid>
</item>
<item>
<title>معرفی بانک های اطلاعاتی رایگان و اوپن سورس</title>
<link>http://sina383.blogfa.com/post-38.aspx</link>
<description>&lt;H2&gt;&lt;A title=&quot;خواندن معرفی بانک های اطلاعاتی رایگان و اوپن سورس&quot; href=&quot;http://farasun.wordpress.com/2008/01/05/freeware-opensource-databases/&quot; rel=bookmark&gt;&lt;FONT size=4&gt;معرفی بانک های اطلاعاتی رایگان و اوپن سورس&lt;/FONT&gt;&lt;/A&gt;&lt;/H2&gt;&lt;SMALL class=date&gt;&lt;SPAN class=date_day&gt;5&lt;/SPAN&gt; &lt;SPAN class=date_month&gt;01&lt;/SPAN&gt; &lt;SPAN class=date_year&gt;2008&lt;/SPAN&gt; &lt;/SMALL&gt;
&lt;DIV class=entry&gt;
&lt;DIV class=snap_preview&gt;
&lt;P align=justify&gt;امروزه در عصر فناوری اطلاعات جنبش های فراوانی برای حذف “کاغذ” از جریان زندگی و کار انسان ها شکل گرفته و همچنان به صورت کاملاً جدی و سریع در کشورهای پیشرفته و کمی کندتر در کشورهای در حال توسعه ادامه دارد. در عصر امروز، فقط نگهداری اطلاعات مهم نیست بلکه بازیابی، ایمن سازی، جستجو، پشتیبان گیری، انتقال، انجام محساسبات، ایجاد گزارش های دلخواه و … معنی جدیدی پیدا کرده اند. از آنجا که امروزه اطلاعات با استفاده از کامپیوتر مورد پردازش قرار می گیرد، نرم افزارهای بانک اطلاعاتی یا Databaseها از اهمیت بسیار زیادی برخوردارند. رد پای بانک های اطلاعاتی را می توانید در نرم افزارهای مختلف و حتی وب سایت های معمولی و ساده نیز مشاهده کنید. استفاده از این نرم افزارها بسیار گشترش یافته و به همین میزان امکانات و ابزارهای ایجاد بانک های اطلاعاتی افزایش و پیشرفت چشمگیری داشته اند.&lt;/P&gt;
&lt;P align=justify&gt;تعدد نرم افزارهای مدیریت بانک های اطلاعاتی از یکسو باعث پیشرفت این رشته شده است و از طرفی موجبات سردرگمی مشتریان و کاربران بانک های اطلاعاتی را فراهم نموده. شرکت های نرم افزاری بزرگی همچون &lt;A title=&quot;Microsoft Corporation&quot; href=&quot;http://microsoft.com/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Microsoft&lt;/FONT&gt;&lt;/A&gt; و &lt;A title=Oracle href=&quot;http://oracle.com/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Oracle&lt;/FONT&gt;&lt;/A&gt; سیستم های مدیریت بانک اطلاعاتی قدرتمند و بسیار گرانی عرضه کرده اند که هر کدام ویژگی ها و خصوصیات منحصر به فردی دارند.&lt;/P&gt;
&lt;P align=justify&gt;همان طور که می دانید در ایران به علت فقدان قانون کپی رایت و امکان خرید قانونی نرم افزارهای بین المللی، استفاده از نرم افزارهای غیرقانونی رواج زیادی یافته است. در این مقاله قصد دارم نرم افزارهای رایگان و اوپن سورس برای ایجاد و مدیریت بانک های اطلاعاتی را معرفی کنم. توجه داشته باشید که در اینجا تعدادی از این نرم افزارها به نسبت معروفیت و کاربرد معرفی شده اند.&lt;/P&gt;
&lt;DIV align=justify&gt;
&lt;H3&gt;&lt;B&gt;بانک های اطلاعاتی اوپن سورس&lt;/B&gt;&lt;/H3&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://sourceforge.net/projects/tpflashfiler/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;FlashFiler&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : موتور بانک اطلاعاتی Client/Server که با استفاده از دلفی توسعه یافته است.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://www.h2database.com/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;H2 Database Engine&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : یک موتور بانک اطلاعاتی جاوا که SQL استاندارد و JDBC API را پشتیبانی می کند.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://www.mysql.com/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;MySQL&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : سرویس دهنده بانک اطلاعاتی معروف و شناخت&lt;IMG alt=http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2004/talks/rahtz/html/mysql.png src=&quot;http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2004/talks/rahtz/html/mysql.png&quot; align=left&gt;ه شده، چند کاربره، انعطاف پذیر و قدرتمند که نسخه های مختلفی تحت سیستم عامل های ویندوز، سولاریس، لینوکس، FreeBSD، AIX، SunOS و … عرضه کرده است. بسیاری از سروس دهنده های وب هاستینگ این سیستم بانک اطلاعاتی را به شما پیشنهاد خواهند کرد. همچنین MySQL در ایران طرفداران و کاربران زیادی دارد.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://www.hsqldb.org/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;HSQLDB&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : سیستم بانک اطلاعاتی رابطه ای بسیار سریع و کوچک که کاملاً با جاوا پیاده سازی شده است.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://www.mcobject.com/perst/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Perst&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : بانک اطلاعاتی شیء گرا برای استفاده در جاوا و دات نت.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://www.datareel.com/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;DataReel&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : یک سیستم &lt;A title=&quot;Cross-platform on Wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Cross-platform&quot; target=_blank&gt;&lt;FONT color=#515151&gt;cross-platform&lt;/FONT&gt;&lt;/A&gt; برای ایجاد بانک های اطلاعاتی چند خطی و نرم افزارهای ارتباطی که برنامه های تحت این سیستم به راحتی در تمامی سیستم عامل های موجو قابل اجرا و پیاده سازی می باشند.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://db.apache.org/derby/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Apache Derby&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : یک سیستم بانک اطلاعاتی رابطه ای که کاملاً با جاوا ایجاد شده است.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://www.postgresql.org/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;PostgreSQL&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : یک سیستم مدیریت بانک اطلاعاتی رابطه ای کاملاً حرفه ای با پشتیبانی از تمامی قابلیت های زبان SQL، تراکنش ها، توابع تعریف شده توسط کاربر. قابلیت اجرا در سیستم عامل های بر مبنای یونیکس مثل انواع توزیع های لینوکس و FreeBSD.&lt;IMG alt=http://www.vitavoom.com/images/PostgreSQL_logo.png src=&quot;http://www.vitavoom.com/images/PostgreSQL_logo.png&quot; align=left&gt;&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://www-306.ibm.com/software/data/cloudscape/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;IBM’s Cloudscape&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : سیستم بانک اطلاعاتی رایگان، اوپن سورس و بسیار کوچک &lt;A title=&quot;IBM website&quot; href=&quot;http://ibm.com/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;IBM&lt;/FONT&gt;&lt;/A&gt; که کاملاً با استفاده از جاوا طراحی و پیاده سازی شده است. این یانک اطلاعاتی روی تمامی سیستم عامل هایی که &lt;A title=&quot;JVM on Wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Java_Virtual_Machine&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Java Virtual Machine&lt;/FONT&gt;&lt;/A&gt; روی آن ها نصب می باشد، اجرا خواهد شد.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://firebird.sourceforge.net/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Firebrid&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : یک سیستم بانک اطلاعاتی رابطه ای برای لینوکس، ویندوز و توزیع های مختلف تحت یونیکس که بر مبنای &lt;A title=Interbase href=&quot;http://interbase.com/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Interbase&lt;/FONT&gt;&lt;/A&gt; طراحی و توسعه یافته است.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://sourceforge.net/projects/tpbtreefiler/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;B-Tree Filer&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : یک سیستم بانک اطلاعاتی بر مبنای فایل (File-based) که با استفاده از محیط Borland Delphi طراحی و پیاده سازی شده است و قادر به ایجاد دیتابیس های نسبتاً سریع می باشد. دیتابیس هایی که با این نرم افزار ساخته می شوند به هیچ ابزار جانبی از قبیل &lt;A title=&quot;BDE on Wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Borland_Database_Engine&quot; target=_blank&gt;&lt;FONT color=#515151&gt;BDE&lt;/FONT&gt;&lt;/A&gt; و یا DLLهای third-party وابسته نیستند و توزیع آن ها روی سیستم های کاربران به راحتی کپی کردن فایل های معمولی امکان پذیر خواهد بود.&lt;/P&gt;
&lt;DIV align=justify&gt;&lt;/DIV&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A href=&quot;http://www.oracle.com/database/berkeley-db/index.html&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Berkeley DB&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt; : این سیستم بانک اطلاعاتی شامل ابزارهای جهت ایجاد دیتابیس هایی توکار در نرم افزارهای دسکتاپ و سرور با کارائی بسیار بالاست. دارا بودن استانداردهای یک سیستم بانک اطلاعاتی رابطه ای، قابلیت Hashing رکوردها، رکورد&lt;IMG alt=http://www.oracle.com/technology/products/berkeley-db/images/berkeley-db-logo.gif src=&quot;http://www.oracle.com/technology/products/berkeley-db/images/berkeley-db-logo.gif&quot; align=left&gt;های ثابت و با طول متغیر، صف بندی ، مدیریت تراکنش ها و پشتیبان گیری از دیتابیس ها به صورت آنلاین از قابلیت های این سیستم به شمار می روند. پشتیبانی از API های زبان های برنامه نوبسی C, C++, JAVA, Tcl, Perl و Python و قابلیت اجرا روی ویندوزهای 95/98/NT/2000 ، لینوکس و بسیاری از توزیع های بر مبنای Unix. کاملاً رایگان برای استفاده های غیرتجاری یا استفاده در نرم افزارهای اوپن سورس.&lt;/P&gt;
&lt;P align=justify&gt;&lt;B&gt;&lt;A title=&quot;SQLLite Home page&quot; href=&quot;http://www.sqlite.org/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;SQLLite&lt;/FONT&gt;&lt;/A&gt;&lt;/B&gt;* : یک &lt;A title=&quot;Library on Wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Library_%28computer_science%29&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Library&lt;/FONT&gt;&lt;/A&gt; کوچک، کم حجم و پرقدرت به زبان C که قادر به ایجاد بانک های اطلاعاتی توکار در نرم افزارهاست. بر خلاف سیستم های مدیریت بانک های اطلاعاتی Client\Server، موتور بانک اطلاعاتی &lt;A title=&quot;SQLLite on Wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/SQLLite&quot; target=_blank&gt;&lt;FONT color=#515151&gt;SQLLite&lt;/FONT&gt;&lt;/A&gt; تنها یک کتابخانه است که با اتصال به برنامه های مختلف، جزئی  از آن برنامه ها می شود. نرم افزارهای معروفی همچون &lt;A title=&quot;Get Firefox Now!&quot; href=&quot;http://getfirefox.com/&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Firefox&lt;/FONT&gt;&lt;/A&gt;, &lt;A title=&quot;Google Gears on Wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Google_Gears&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Google Gears&lt;/FONT&gt;&lt;/A&gt;, &lt;A title=&quot;Ruby on Rails on Wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Ruby_on_Rails&quot; target=_blank&gt;&lt;FONT color=#515151&gt;Ruby on Rails&lt;/FONT&gt;&lt;/A&gt; از SQLLite به صورت توکار استفاده می کنند.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
<pubDate>Mon, 03 Nov 2008 16:22:53 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=38</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-38.aspx</guid>
</item>
<item>
<title>اطلاعات خود را در مورد بانكهاي اطلاعاتي بهينه كنيد</title>
<link>http://sina383.blogfa.com/post-37.aspx</link>
<description>&lt;TABLE class=MojText dir=rtl cellSpacing=1 cellPadding=3 width=&quot;100%&quot;&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=MojHead&gt;اطلاعات خود را در مورد بانكهاي اطلاعاتي بهينه كنيد&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;B&gt;پنج شنبه,24 آذر 1383 &lt;/B&gt;(تعداد دفعات خوانده شده:3571)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MojText style=&quot;WIDTH: 99%; TEXT-ALIGN: justify&quot;&gt;منبع:از مجله علم الكترونيك وكامپيوتر شماره 322 &lt;BR&gt;&lt;BR&gt;بعضي از متخصصان و فروشندگان تكنولوژي ادعا مي كنند كه سيستم هاي مديريت بانكهاي اطلاعاتي (DBMS) به يك سري كالا تبديل شده اند كه هيچ نوآوري در آنها صورت نمي گيرد و يا اگر هم نوآوري صورت گيرد، كاملا بي ربط است . &lt;BR&gt;اين افراد در اشتباه به سر مي برند . چون نه تكامل در DBMS متوقف شده و نه همه DBMS ها شبيه هم شده اند . به ويژه ، فروشندگان اصلي DBMSهاي رابطه اي به دنبال تمايزات تكنيكي در سه حيطه مهم هستند. &lt;BR&gt;1- پردازش تحليلي كم هزينه : فروشندگان DBMS بهينه سازي هاي جستجوي (query) خود را اغزايش مي دهند تا بخش اعظمي از بار موجود بر دوش مديران بانكهاي اطلاعاتي را كم كرده و همچنين عملكرد جستجوي خود را مستقيما بالا برند . آنها سعي دارند تا سرعت پردازش را نيز بالا برند. &lt;BR&gt;2-پردازش تحليلي Real Time(بلادرنگ): در بعضي موارد،چنين پيشرفت هايي كپي كردن تحليل ها را مستقيما از يك بانك اطلاعاتي توليد عملي مي سازد و به ميزان قابل توجهي تحليل بلادرنگ را آسان مي سازد. اين امر،مخصوصا در CRMكه قيمت گذاري مخصوص مشتريان و در دسترس قراردادن محصول تاييد شده را ممكن سازد ، اهميت دارد. همچنين تحليل هاي بلادرنگ در بعضي از برنامه هاي اجرايي اززنجيره هاي توليد، لجستيك و تحليل ريسك سهام مقرون به صرفه است . &lt;BR&gt;3- انواع داده هاي غير رابطه اي : انواع داده هاي تخصصي در بسياري از برنامه هاي اجرايي مهم تلقي مي شود . مثلا دادهاي جغرافيايي در بازار يابي ، اكتشاف معدن و امنيت داخلي كشور يا داده هاي ژنوميك در پروژهشات دارويي . داده هاي موضوعي در بخش اعظمي از برنامه هاي اجرايي اسنادي و پژوهشي كاربرد دارد و در ميان گروهي از برنامه هاي اجرايي جديد بر مبناي XML، بخش كوچك اما مهمي از آن، ذخيره واقعي داده هاي XML بستگي دارد . &lt;BR&gt;اكثر اين تمايزات ارتباط تنگاتنگي با بهينه سازي جستجويي يعني مغز DBMS رابطه اي ، دارد. هرنوع پيشرفت در نحوه پردازش جستجو در DBML- مثلا تقارن بيشتر كهيك نوع شاخص جديد يا يك نوع داده جديد است – بايد به وسيله بهينه ساز درك شود، يا در غير اينصورت DBML نمي تواند از آن استفاده كند. &lt;BR&gt;تمام بهينه سازها به طور يكسان ايجاد نمي شوند ، و درك اين مسئله كه يك بهينه سازبه خصوص چه كاري مي كند و چه كاري نمي كند ، ديد زيادي درمورد قابليت هاي كاي DBML ها فراهم مي كند . بنابراين براي درك تفاوت هاي بين انواع مختلف DBML اندكي اطلاعات در مورد نحوه عملكرد بهينه سازها مفيد خواهد بود . &lt;BR&gt;بهينه ساز در هر جستجو ، تعيين مي كند كه كدام شاخص و ستون جدول بايد خوانده و مرتبط شود ، چه نوع ارتباطي بايد به كار رود و اينكه اين ارتباطات بايد به چه ترتيبي انجام شوند . بهينه سازهاي جستجوي مدرن همه بر مبناي هزينه هر عمليات را در مسير منطقي هر جستجو تخمين زده و در مجموع آنها را با هم جمع كرده و در آخر كم هزينه ترين مسير را انتخاب مي كند. &lt;BR&gt;متاسفانه چنين برآوردهايي كامل نبوده و بنابراين معمولا بهينه سازها در پيدا كردن بهترين طرح جستجو ناموفق هستند . به همين علت مديران بانكهاي اطلاعاتي بايد كد SQL يا پارامترهاي بهينه سازرابه صورت دستي بهينه نمايند كه اين كار بسيار دشوار است . در پاسخ به چنين مشكلي فروشندگان LBMS سعي مي كنند كه به پيشرفت هايي در زمينه يافتن و اصلاح كردن جستجو هاي نيمه بهينه شده ، برسند . در شيوه مهم ديگر كمك به مديران بانكهاي اطلاعاتي ، بهينه سازها براي معرفي شاخص هاي جديد و روش هاي تطبيق داده ، به كار گرفته مي شوند. &lt;BR&gt;&lt;BR&gt;صريح ترين مزيت بهينه سازهاي پيشرفته ، جستجوهاي سريع ترو هزينه هاي كمتر مديران DBML است . اما اهميت شيوه هاي دسترسي پيشرفته كه به وسيله بهينه سازها فراهم مي شود نيز كمتر از اهميت مزيت مذكور نيست . در ابتدا هر پيشرفت كه هزينه پردازش تحليلي را كم مي كند، به هوش اضافه شده به بهينه ساز بستگي دارد كه موارد زيادي ازقبيل وجو دارد ، مثلا DBML هاي بالا به پايين ( top-end) پرشده اند از Bitmapها ، شاخص هاي star-schema و پشتيباني بيشتر جستجو هاي پيچيده data-warehouse style . &lt;BR&gt;مهمترين مسئله در طي زمان materialized view است كه شركت هاي بي ام ، اوراكل و مايكروسافت پشتيبان آنها هستند . materialized view همان نتايج از پيش محاسبه شده جستجو هستند كه در جداول واقعي ذخيره شده و معمولا بر اساس يك برنامه بلادرنگ به روز مي شوند. در اصل materialized view مي تواند از جستجوي تحليلي كار آمد در بانكهاي اطلاعاتي پردازشي معاملات به صورت آن لاين در مدت زمان تقريبا كوتاه پشتيباني كند كه البته اين كار بدون برجاي گذاشتن اثرات منفي بربرنامه كاربردي OLTP يا كپي مجدد يا مخفي شدن داده هاي معاملاتي زيرين انجام مي شود. هر چند كاربردشايع آنها به بهينه سازي بستگي دارد كه حداقل مي تواندviewهايي را كه ايجاد شده اند تشخيص داده و يا در صورت بهتر viewهاي جديد رادر زمان مناسب ايجاد نمايند . &lt;BR&gt;حمايت از داده هاي نوع غير رابطه اي به ميزان زيادي به بهينه سازها بستگي دارد . هر روش جديد دسترسي ، به تكنيك هاي شاخص گذاري خودش متكي است كه معمولا با تكنيك هايي كه داده هاي رابطه قراردادي استفاده مي شود، بسيار متفاوت است . درست انتخاب و مرتبط كردن ايننوع داده ها مستلزم اين است كه بهينه ساز يك مدل مناسب هزينه براي شاخصي كه قبلا نا آشنا بوده داشته باشد . شركت هاي آي بي ام و اوراكل قابليت هايي را فراهم مي كنند كه چنين مدل هايي هزينه را تعريف مي كند و در اين بين مدل هاي شركت اوراكل انعطاف پذير و جامع تر است . &lt;BR&gt;احتمالاتمامي شركت هاي بزرگ از بعضي از قابليت هاي DBMS پيشرفته بهره مند هستند . &lt;BR&gt;تطبيق آسان تر، پردازش تحليلي سريعتر و يا پشتيباني از داده هاي نوع غير رابطه اي جزو مزاياي احتمالي چنين DBMSهايي هستند. خوشبختانه مشخصه هاي ويژه اي كه شما مي توانيد به بهترين نحو از آن استفاده كنيد ، در اين نوع DBMS كه سازمان شما ترجيح داده است اجرا مي شود و اگر هم نشد ، ممكن است تمايل به داشته باشيد كه به صورت انتخابي چنين مشخصاتي رادر رساننده هاي DBMS جستجو كنيد . درهردومورد فوق بهتر است كه اندكي وقت صرف جستجو در پيشرفت هاي تكنولوژي بانكهاي اطلاعاتي نماييد و براي اين كار مي توانيد كار خود رابا جستجو در زمينه بهينه سازها شروع كنيد. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
<pubDate>Mon, 03 Nov 2008 16:15:11 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=37</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-37.aspx</guid>
</item>
<item>
<title>تحلیل و طراحی پایگاه داده ها (بانک های اطلاعات)</title>
<link>http://sina383.blogfa.com/post-36.aspx</link>
<description>&lt;H1&gt;&lt;FONT size=4&gt;تحلیل و طراحی پایگاه داده ها (بانک های اطلاعات)&lt;/FONT&gt;&lt;/H1&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;IMG height=134 hspace=10 src=&quot;http://atalebi.com/IMAGES/clipart/accounter.jpg&quot; width=150 align=left vspace=10 border=0&gt;&lt;/FONT&gt; بانکهای اطلاعاتی جدا از اینکه یر روی سایتهای اینترنتی باشند یا قسمتی از یک نرم افزار تک کاربره یا بخشی از یک سیستم نرم افزاری روی شبکه محلی، نیازمند تحلیل و طراحی دقیق هستند. بانکهای اطلاعاتی بر خلاف آنچه در چند سال اخیر در برخی اذهان رواج یافته، نه تنها یک بحث پیش پا افتاده و ساده نیست، که بحثی بسیار فنی و دارای نکات و جزئیات بسیار زیاد است. طراحی یک پایگاه داده برای نگهداری مثلاً 1000 رکورد، شاید اینگونه باشد. 1000 رکورد اطلاعاتی اصلاً نیازی به بانک اطلاعاتی یا پایگاه داده ندارد. آنچه مهم است، هنگامی است که داده های پویا و بسیار زیاد شما نیاز به ذخیره سازی، نمایش، گزارشگیری و تحلیل دارند. 
&lt;P&gt;
&lt;P&gt;در چنین وضعیتی، سپردن طراحی پایگاه داده ها یا بانک اطلاعات (چه برای سایت اینترنتی و چه برای نرم افزارهای شما) به دست کسانی که علم و تجربه کافی در این زمینه ندارند مطمئناً بزرگترین اشنباه شماست. اشتباهی که تصحیح آن در طول زمان، مستلزم صرف هزینه های مالی و زمانی بسیار زیادی خواهد شد و چه بسا کل پروژه را دچار مشکل سازد و نیاز به از نو نویسی سیستم را بعنوان تنها راه ممکن پیش روی شما قرار دهد. 
&lt;P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;IMG height=205 hspace=10 src=&quot;http://atalebi.com/IMAGES/clipart/keyboard.jpg&quot; width=150 align=left vspace=10 border=0&gt;&lt;/FONT&gt;یکی از اصلی ترین فعالیتهای من از سال 1378 تحلیل و طراحی بیش از 40 پایگاه داده برای نرم افزارهای بزرگ و سایتهای معتبر مختلف بوده است. نمونه های مختلفی از طراحی و تحلیلها را می توانید در چند مورد از بعنوان نمونه مشاهده نمایید : 
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;&lt;A href=&quot;http://namayeshgah.com/&quot; target=_blank&gt;اولین نمایشگاه الکترونیک ایران&lt;/A&gt;&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;&lt;A href=&quot;http://iranact.com/&quot; target=_blank&gt;سایت ایران اکت که دایرکتوری سینمایی ایران است&lt;/A&gt;&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;&lt;A href=&quot;http://efeh.com/&quot; target=_blank&gt;اولین فروشگاه اینترنتی یا EFEH.COM &lt;/A&gt;&lt;/B&gt;
&lt;LI&gt;&lt;B&gt;&lt;A href=&quot;http://atcce.com/&quot; target=_blank&gt;سایت مجتمع فرهنگی آموزشی علامه طباطایی&lt;/A&gt;&lt;/B&gt; (با بیش از 20.000.000 رکورد اطلاعاتی پویا) 
&lt;LI&gt;&lt;B&gt;&lt;A href=&quot;http://ham-rah.com/&quot; target=_blank&gt;سایت مرکز مشاوره علمی همراه&lt;/A&gt;&lt;/B&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;
&lt;P&gt;طراحی پایگاه داده های نرم افزارهایی مانند سیستم سنجش و ارزشیابی آموزشی مجتمع فرهنگی آموزشی علامه طباطبایی و مرکز سنجش علمی آزمون هم راه با بیش از 400.000.000 رکورد اطلاعات، سیستم فروش و حسابداری صنایع غذایی نیلو (با بیش از 40.000.000 رکورد اطلاعات مالی و انبارداری و حسابداری)، پایگاه داده های نرم افزار حسابداری یکپارچه (با بیش از 300.000.000 رکورد اطلاعاتی نزد مشتریان مختلف این نرم افزار)، پایگاه داده های نرم افزار حسابداری سه سطحی با بیش از 130.000.000 رکورد، بخش VB و ASP همین سایت و .... نیز نمونه هایی از طراحی و آنالیز پایگاه داده ها است که توسط اینجانب به تنهایی یا در برخی موارد بعنوان عضوی از تیم طراحی و پیاده سازی شرکت منظومه انجام داده ام نمونه ای از فعالیتهای اینجانب در زمینه آنالیز، طراحی و پیاده سازی پایگاه داده ها (بانک های اطلاعات) است. 
&lt;P&gt; &lt;/P&gt;</description>
<pubDate>Mon, 03 Nov 2008 16:10:58 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=36</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-36.aspx</guid>
</item>
<item>
<title>MySQL 5.0، بزرگترين رويداد دنياي Open Source</title>
<link>http://sina383.blogfa.com/post-35.aspx</link>
<description>&lt;TABLE cellPadding=3 width=&quot;100%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top align=middle width=&quot;76%&quot; height=25&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top align=middle height=25&gt;
&lt;DIV dir=rtl align=right&gt;&lt;SPAN class=titlearticles_b&gt;&lt;SPAN id=Title&gt;MySQL 5.0، بزرگترين رويداد دنياي Open Source&lt;/SPAN&gt; &lt;STRONG&gt;&lt;FONT face=&quot;Arial, Helvetica, sans-serif&quot; color=#000000 size=3&gt;&lt;SPAN id=PageNumber1&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top align=middle colSpan=2&gt;
&lt;DIV id=ArticleSpec align=right&gt;
&lt;P class=text2 dir=rtl align=right&gt;&lt;IMG id=image1 alt=&quot;&quot; src=&quot;http://www.shabakeh-mag.com/Data/Articles/Items/2005/1/1001028_b.jpg&quot; align=left border=0&gt; &lt;SPAN id=Authors&gt;سرويس خبر ماهنامه شبکه&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN class=date dir=rtl&gt;&lt;SPAN id=ArticleDate&gt;چهارشنبه 16 دي 1383&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR&gt;&lt;FONT face=&quot;Arial, Helvetica, sans-serif&quot;&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;SPAN class=text&gt;&lt;SPAN id=Description&gt;ديتابيس‌هاي Open Source همچون MySQL، Ingres و PostgreSQL به سرعت در حال پيشرفت هستند و با توجه به صرفه‌ي اقتصادي آنها، به نظر مي‌رسد در آينده‌اي نزديك، سهم بيشتري از بازار را در اختيار بگيرند.&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2 height=13&gt;
&lt;DIV dir=rtl&gt;
&lt;DIV align=justify&gt;&lt;SPAN id=Text1&gt;&lt;FONT face=Tahoma size=2&gt;قرار است شركت  MySQL در اواخر ژانويه، نسخه‌ي بتاي MySQL 5.0 را منتشر كند. به گفته‌ي كارشناسان شركت مذكور، اين ديتابيس در سطح Enterprise تهيه شده و امكاناتي نظير Store Procedures و triggers را دارا مي‌باشد.&lt;BR&gt;چندي پيش نسخه‌ي آلفاي اين محصول در اختيار كاربران قرار گرفت و انتظار مي‌رود به فاصله‌ي چند ماه بعد از انتشار نسخه‌ي بتا، نسخه‌ي نهايي آن نيز در اختيار علاقمندان قرار گيرد.&lt;BR&gt;قرار بود نسخه‌ي نهايي برنامه‌ي MySQL 5.0 در اواخر سال گذشته، منتشر شود كه به دلايل مختلفي اين زمان به تعويق افتاد. سخنگوي اين شركت، ضمن خودداري از بيان دلايل اين تاخير، تاريخ دقيقي را نيز براي انتشار آن؛ ذكر نكرد. او در ادامه افزود : كيفيت اين برنامه به قدري بالا است كه مطمئنا بعد از انتشار، همه را شگفت‌زده خواهد كرد.&lt;BR&gt;نويل ياهانا، يكي از كارشناسان سرشناس در امور ديتا بيس، در اين باره مي‌گويد : انتشار MySQL 5.0، بدون شك يكي از مهمترين رويداد‌هاي دنياي Open Source محسوب مي‌شود. او در ادامه مي‌گويد : MySQL 5.0 امكاناتي نظير triggers، Procedures، views و ... دارد كه آن‌را از ساير ديتا‌بيس‌هاي مشابه، متمايز مي‌كند.&lt;BR&gt;نويل يوهانا معتقد است : ديتابيس‌هاي Open Source همچون MySQL، Ingres و PostgreSQL به سرعت در حال پيشرفت هستند و با توجه به صرفه‌ي اقتصادي آنها، به نظر مي‌رسد در آينده‌اي نزديك، سهم بيشتري از بازار را در اختيار بگيرند. در حال حاضر ديتابيس‌هاي Open Source در دو سطح Easy  و Enterprise منتشر مي‌شوند.&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
<pubDate>Mon, 03 Nov 2008 15:51:41 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=35</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-35.aspx</guid>
</item>
<item>
<title>مديريت پايگاه داده ها در SQL server - قسمت دوم : نظارت بر عملكرد سيستم</title>
<link>http://sina383.blogfa.com/post-34.aspx</link>
<description>&lt;TABLE cellPadding=3 width=&quot;100%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top align=middle height=25&gt;
&lt;DIV dir=rtl align=right&gt;&lt;SPAN class=titlearticles_b&gt;&lt;SPAN id=Title&gt;مديريت پايگاه داده ها در SQL server - قسمت دوم : نظارت بر عملكرد سيستم &lt;/SPAN&gt;&lt;STRONG&gt;&lt;FONT face=&quot;Arial, Helvetica, sans-serif&quot; color=#000000 size=3&gt;&lt;SPAN id=PageNumber1&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top align=middle colSpan=2&gt;
&lt;DIV id=ArticleSpec align=right&gt;
&lt;P class=text2 dir=rtl align=right&gt;&lt;IMG id=image1 alt=&quot;&quot; src=&quot;http://www.shabakeh-mag.com/Data/Articles/Items/2005/7/1001219_b.jpg&quot; align=left border=0&gt; &lt;SPAN id=Authors&gt;مهيار داعي‌الحق&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN class=date dir=rtl&gt;&lt;SPAN id=ArticleDate&gt;ماهنامه شبکه - مهر ۱۳۸۳ شماره 47&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR&gt;&lt;FONT face=&quot;Arial, Helvetica, sans-serif&quot;&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;&lt;BR&gt;اشاره : &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;SPAN class=text&gt;&lt;SPAN id=Description&gt;قسمت اول اين مقاله به بحث پيرامون ايجاد نسخه‌هاي پشتيبان (Back up) از يك بانك اطلاعاتي مي‌پرداخت. در اين قسمت قصد داريم موضوع مهم نظارت يا مانيتورينگ عملكرد سيستم و كاربران در SQL Server كه يكي از وظايف مديريت سيستم در جهت كشف ايرادات آن است را بررسي كنيم.&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2 height=13&gt;
&lt;DIV dir=rtl&gt;
&lt;DIV align=justify&gt;&lt;SPAN id=Text1&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;يكي از اساسي‌ترين كارهايي كه بعد از پياده‌سازي يك بانك اطلاعاتي و در حين استفاده كاربران از آن بايد صورت گيرد، نظارت دقيق بر رفتار سيستم و بررسي واكنش‌هايي است كه آن بانك اطلاعاتي در شرايط خاص و ضمن استفاده‌هاي متنوع كاربران مختلف از خود نشان مي‌دهد. بنابراين اين نظارت دايمي بايد طبق اصول خاص و يك برنامه منظم و با استفاده از امكاناتي كه بانك اطلاعاتي در اختيار مديريت سيستم قرار مي‌دهد انجام گيرد تا از بروز مشكلات احتمالي جلوگيري به عمل آيد. اين مشكلات به طور كلي به سه دسته عمده  كُند شدن سرعت جستجو در سيستم (Query performance problem) ،كم شدن تعداد فرايندهاي قابل اجرا در  واحد زمان (Transactions  Throughput problem) ،كاهش كارايي سيستم در اثر افزايش كاربران و تداخل كارهاي آن‌ها در يكديگر ( Concurrent users problem) تقسيم مي‌شود. براي اين منظور در SQLerver ابزارهاي خاصي براي مانيتورينگ سيستم درنظر گرفته شده تا مدير سيستم بتواند به موقع نقاط ضعف سيستم (از لحاظ نرم‌افزاري يا سخت‌افزاري) را شناسايي كرده و قبل از اين‌كه سيستم را دچار بحران نمايد يا اين‌‌كه كار به گله‌مند شدن كاربران بيانجامد با مشورت طراحان، برنامه‌نويسان و مسؤولين شبكه راه‌حل مناسبي براي آن مشكل پيدا كند. در صورت كشف مشكل مذكور، ايجاد تغييراتي در روابط منطقي يا فيزيكي جداول بانك اطلاعاتي توسط طراحان بانك، بهينه‌سازي كدهاي برنامه‌نويسي شده و رفع نقاط ضعف آن توسط برنامه‌نويسان و ارتقاي سخت‌افزار شبكه و سرور بانك اطلاعاتي توسط مسؤولين شبكه مي‌تواند راهگشاي بسياري از اين نوع معضلات به حساب آيد. در SQL Server يك ابزار مناسب براي مانيتورينگ يك بانك اطلاعاتي وجود دارد كه در اين‌جا به معرفي آن مي‌پردازيم.&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;SQL Server Profiler&lt;BR&gt;&lt;/STRONG&gt;اين ابزار در واقع برنامه‌اي است كه قادر به اشكال‌زدايي دستورات SQL مي‌باشد. هر نوع دستور SQL كه به تنهايي يا از داخل يك برنامه يا از طرف يك روال ذخيره شده (Stroed Procedvre) و يا هر جاي ديگر اجرا شود توسط اين برنامه شناسايي و ثبت مي‌شود. سپس برنامه مذكور عمل تجزيه وتحليل خود را بر روي اين دستور SQL انجام داده و نتايج آن را به مدير سيستم نمايش مي‌دهد. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;FONT face=&quot;Times New Roman&quot; size=3&gt;&lt;STRONG&gt;نحوه كار برنامه&lt;/STRONG&gt;&lt;/FONT&gt; &lt;BR&gt;برنامه پروفايلر ليستي از رخدادهايي را كه قادر به تعقيب آن‌ها است در اختيار كاربر قرار مي‌دهد. اين رخدادها پس از انتخاب كاربر در درون يك صف (Queue) قرار گرفته و هرگاه يكي از رخدادها به وقوع بپيوندد، پروفايلر شرح كاملي از جزييات آن را در يك فايل جهت گزارشي به مدير سيستم، ثبت مي‌كند. اين عمليات تعقيب كه در پروفايلر به آنTrace گفته مي‌شود كاملاً توسط كاربر قابل تنظيم است. &lt;BR&gt;رخدادهاي قابل تعقيب توسط پروفايلر به انواع مختلفي تقسيم‌بندي مي‌شوند كه در قسمت Events از منويWewTrace يعني زماني‌كه كاربر قصد تعريف يك تعقيب جديد را دارد، مشاهده مي‌شوند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;1- Cursors  &lt;BR&gt;&lt;/STRONG&gt;اين مجموعه رخدادهاي مربوط به اتفاقاتي است كه باعث ايجاد شدن، مورد استفاده قرار گرفتن و حذف شدن يك دسته ركوردهاي اطلاعاتي از يك يا چند جدول مي‌شود. همان‌طور كه مي‌دانيد در SQL Server مي‌توان با استفاده از دستور SELECT تعدادي از جداول بانك اطلاعاتي را با هم لينك كرده و مجموعه ركوردهاي اطلاعاتي مربوطه را در يك گروه به نام كرسر قرار داد (همان چيزي كه در زبان‌هاي برنامه‌نويسي مثل ويژوال بيسيك به آن Recordset گفته مي‌شود) هر عملي كه باعث ايجاد شدن يا هر نوع عمليات ديگر بر روي يك كرسر شود مي‌تواند مورد تعقيب پروفايلر قرار گرفته و ثبت شود. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;2- Data Base&lt;/STRONG&gt;  &lt;BR&gt;اين مجموعه از رخدادها مربوط به فايل‌هاي داده‌اي يك بانك اطلاعاتي است. هر تغييري كه در ساير فايل‌هاي داده‌اي و فايل‌هاي لاگ يك بانك ايجاد شود در اين مجموعه قرار مي‌گيرد.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;3- Errors and Warning  &lt;BR&gt;&lt;/STRONG&gt;مقام پيام‌هاي خطا و هشدار كه در زمان اجراي دستورات SQL  يا در زمان كامپايل و اجراي SPها و يا Triggerها به كاربر داده مي‌شود و همچنين خطاهاي مربوط به OLE DB در اين گروه قرار مي‌گيرد. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;4- Locks&lt;/STRONG&gt;   &lt;BR&gt;اين گروه از رخدادها، بيشتر زماني مورد استفاده قرار مي‌گيرد كه يك برنامه كاربردي در قفل كردن و آزاد كردن ركوردهاي جداول بانك اطلاعاتي دچار ضعف و اشتباه مي‌شود. &lt;BR&gt;همان‌طور كه مي‌دانيد بسياري از برنامه‌هاي كاربردي در مقاطع زماني خاص اقدام به قفل كردن يك يا چند جدول اطلاعاتي مي‌كنند كه اين كار و همچنين آزاد كردن آن جداول بايد با حساسيت و دقت خاصي انجام شود تا در كار بقيه كاربران اخلال ايجاد نكند اما متأسفانه بسياري از اين نوع برنامه‌ها خصوصاً برنامه‌هايي كه قدمت چنداني ندارند اغلب از اين لحاظ دچار بي‌دقتي و ضعف زيادي هستند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;5- Scans  &lt;/STRONG&gt; &lt;BR&gt;هر عملي كه در حافظه اصلي تخصيص داده شده به SQL server  قابل دستيابي باشد در اين دسته قرار مي‌گيرد. به‌خصوص عمليات مربوط به Cache كه در داخل موتور بانك اطلاعاتي انجام مي‌شود جزو اين دسته محسوب مي‌شوند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;6- Stored procedveres&lt;/STRONG&gt;  &lt;BR&gt;شامل كليه وقايعي كه ممكن است براي يك روال رخ دهد مي‌باشد. كامپايل، فراخواني، شروع اجرا، وضعيت در حال اجرا، پايان اجرا، همگي از جمله رخدادهاي قابل وقوع در اين دسته مي‌باشند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;7- TSQL&lt;/STRONG&gt; &lt;BR&gt;اين نوع رخدادها شامل كليه وقايعي است كه باعث اجراي هر يك از دستورات زبان TSQL  به صورت تكي يا دسته‌اي (Batch) مي‌شود. دستورات SELECT ،Insert ،UpdATE ، DELETE و ... هر كدام آغاز و پاياني مشخص با نتايج معين در يك بانك اطلاعاتي دارند كه مي‌توانند به وسيله اين نوع رخداد مورد بررسي قرار گيرند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;8- Transaction   &lt;BR&gt;&lt;FONT face=&quot;Times New Roman&quot; size=3&gt;&lt;/FONT&gt;&lt;/STRONG&gt;
&lt;TABLE style=&quot;WIDTH: 200px&quot; cellSpacing=1 cellPadding=1 align=left border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;&lt;FONT face=&quot;Times New Roman&quot;&gt;&lt;A href=&quot;http://www.shabakeh-mag.com/img.aspx?l=/Data/Gallery/2005/7/47_sql_p2_01.jpg&quot;&gt;&lt;IMG style=&quot;WIDTH: 200px; HEIGHT: 212px&quot; alt=&quot;&quot; hspace=0 src=&quot;http://www.shabakeh-mag.com/Data/Gallery/2005/7/47_sql_p2_01_s.jpg&quot; border=0&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;شكل 1&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;در اين دسته، كليه وقايع مربوط به فرآيند از جمله شروع (BEGIN) تأييد&lt;BR&gt; (Commit) و بازگشت (Roll Back) قرار مي‌گيرند. هر فرآيند شامل چند دستور SQL  مي‌باشد كه يا بايد همگي بدون اشكال اجرا شوند و يا اين‌كه هيچكدام اجرا نگردند. &lt;BR&gt;اهميت فرآيند و استفاده مناسب از آن‌ها در يك بانك اطلاعاتي و برنامه كاربردي مربوط به آن جاي هيچ‌گونه ترديدي را براي وجود ابزاري جهت ثبت و مانيتورينگ وقايع  باقي نمي‌گذارد. لذا اين دسته از رخدادها همانند رخدادهاي SQL يكي از پركاربردترين رخدادها قلمداد مي‌شوند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;9- Session&lt;/STRONG&gt;  &lt;BR&gt;اين دسته از وقايع شامل كليه رخدادهاي مربوط به اتصال كاربران به بانك اطلاعاتي (login) و خروج از آن (logout) يا قطع اتصال در اثر بروز هر عاملي (Disconnect) مي‌باشد و براي كنترل و رفع ايراد ورود و خروج كاربران به سيستم مورد استفاده قرار مي‌گيرد. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;FONT face=&quot;Times New Roman&quot; size=3&gt;اجراي آزمايشي يك Trace  &lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/STRONG&gt;
&lt;P align=justify&gt;
&lt;TABLE style=&quot;WIDTH: 200px&quot; cellSpacing=1 cellPadding=1 align=left border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href=&quot;http://www.shabakeh-mag.com/img.aspx?l=/Data/Gallery/2005/7/47_sql_p2_02.jpg&quot;&gt;&lt;IMG style=&quot;WIDTH: 200px; HEIGHT: 212px&quot; alt=&quot;&quot; hspace=0 src=&quot;http://www.shabakeh-mag.com/Data/Gallery/2005/7/47_sql_p2_02_s.jpg&quot; border=0&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;شكل 2&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P align=justify&gt;براي شروع، مي‌خواهيم يك تعقيب آزمايشي براي ثبت برخي رخدادهاي قابل وقوع در سيستم با استفاده از پروفايلر بسازيم. براي اين‌كار برنامه Profiler را اجرا كرده و منوي New Trace را كليك مي‌كنيم تا ليستي از وقايع قابل ثبت كه آن‌ها را در قسمت قبل شرح داديم ظاهر شود. در قسمت General كافي است يك نام براي Trace  موردنظر انتخاب كرده و سپس يك مسير براي درج فايل حاوي لاگ رخدادهاي مذكور، به پروفايلر معرفي كنيم. لازم به ذكر است كه پروفايلر قادر است به جاي يك فايل، لاگ‌هاي توليد شده را در يكي از جداول همان بانك اطلاعاتي ذخيره كند. همچنين اگر مايل باشيد كه هيچ لاگي براي شما ثبت نشود، پروفايلر مي‌تواند صرفاً لاگ‌ها را در قالب يك پنجره در داخل خود برنامه به صورت يك ليست به شما نشان دهد (شكل 1).&lt;BR&gt;&lt;BR&gt;در ضمن در داخل همين پنجره مي‌توانيد يك الگوي پيش‌ساخته را كه قبلاً توسط خودتان يا ديگران تنظيم شده مورد استفاده قرار دهيد تا در قسمت بعد كه مي‌خواهيد رخدادها را از داخل ليست انتخاب نماييد دچار مشكل نشويد. البته برنامه پروفايلر به صورت پيش‌فرض الگوي استاندارد خودش براي نظارت بر عملكرد كاربران و موتور پايگاه داده را به نام SQL Profilerstandard به شما پيشنهاد مي‌كند كه كافي است با قبول كردن آن به زبانه Events برويد. در آن‌جا طبق الگوي مذكور، يك سري از رخدادها از داخل ليست سمت چپ به صورت اتوماتيك انتخاب شده و جهت لاگ شدن در ليست سمت راست قرار مي‌گيرد، علاوه براي اين‌كه شما هم مي‌توانيد با استفاده از دو كليدAdd  و Remove رخدادهاي موردنظر خودتان را جهت لاگ شدن به ليست سمت راست، اضافه يا كم كنيد (شكل 2). &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P align=justify&gt;
&lt;TABLE style=&quot;WIDTH: 200px&quot; cellSpacing=1 cellPadding=1 align=left border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href=&quot;http://www.shabakeh-mag.com/img.aspx?l=/Data/Gallery/2005/7/47_sql_p2_03.jpg&quot;&gt;&lt;IMG style=&quot;WIDTH: 200px; HEIGHT: 211px&quot; alt=&quot;&quot; hspace=0 src=&quot;http://www.shabakeh-mag.com/Data/Gallery/2005/7/47_sql_p2_03_s.jpg&quot; border=0&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;شكل 3&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P align=justify&gt;در اين‌جا فرض بر اين است كه قصد ما ساختن يك  Trace براي كنترل و نظارت بر دستورات SQL در حال اجرا توسط كاربر مدير سيستم يعني sa مي‌باشد بنابراين كافيست صرفاً مجموعه زير گروه TSQL را در ليست سمت راست نگه داريم و بقيه را با كليد Remove به سر جاي خود يعني ليست سمت چپ برگردانم. &lt;BR&gt;&lt;BR&gt;در قسمت بعد بايد ستون‌هاي مورد استفاده لاگ را مشخص كنيم. با اين كار پروفايلر اطلاعات مربوط به لاگ‌هاي توليد شده را به شكل مناسبي كه ما مي‌خواهيم توليد مي‌كند اين انتخاب در زبانه Data Coloumns  قابل تنظيم است. به عنوان مثال ستون TextData متن عبارت SQL در حال اجرا را نشان مي‌دهد يا اين‌كه ستون Application  نام برنامه كاربردي كه اين دستور SQL  از طرف آن برنامه، اجرا شده را مشخص مي‌نمايد. بهتر است در اين مرحله كليه ستون‌هاي پيش‌فرض انتخاب شده توسط پروفايلر را قبول كرده و به مرحله آخر يعني فيلتر كردن اطلاعات برسيم (شكل 3).&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P align=justify&gt;
&lt;TABLE style=&quot;WIDTH: 200px&quot; cellSpacing=1 cellPadding=1 align=left border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href=&quot;http://www.shabakeh-mag.com/img.aspx?l=/Data/Gallery/2005/7/47_sql_p2_04.jpg&quot;&gt;&lt;IMG style=&quot;WIDTH: 200px; HEIGHT: 212px&quot; alt=&quot;&quot; hspace=0 src=&quot;http://www.shabakeh-mag.com/Data/Gallery/2005/7/47_sql_p2_04_s.jpg&quot; border=0&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;شكل 4&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P align=justify&gt;در زبانه فيلتر (Filter) امكان محدود كردن نمايش اطلاعات لاگ شده (منظور رديف‌هاي آن اطلاعات است) به كاربر داده مي‌شود. به عنوان مثال چون هدف ما صرفاً نمايش دستورات SQL اجرا شده توسط كاربر sa است، به همين دليل يك فيلتر بر روي ستون User DataBase تعريف كرده و قسمت like آن را به كلمه sa انتساب مي‌دهيم. حتي اگر باز هم قصد محدودتر كردن گزارش را داشته باشيد مي‌توانيد روي ستون‌هاي ديگر هم فيلتر بگذاريد. مثلاً براي اين‌كه صرفاً دستورات DELETE كاربر مذكور به شما نشان داده شود مي‌توانيد در همين جا علاوه بر فيلتر قبل، يك فيلتر جديد بر روي ستون Text Data تعريف كرده و عبارت LIKE  آن را به كلمه DELETE منتسب كنيد (شكل 4).&lt;BR&gt;&lt;BR&gt;پس از طي مراحل فوق، اكنون نوبت به اجراي Trace مذكور مي‌رسد اين‌كار از طريق كليك بر روي دكمه Run انجام مي‌گيرد. بلافاصله يك پنجره جديد حاوي ستون‌هايي كه ما در قسمت Coloumns انتخاب كرده بوديم نمايش داده مي‌شود. اين ليست بعد از انجام هر دستور SQL كه شرايط موردنظر ما در قسمت Filter برآورده كند به روز &lt;BR&gt;(Refresh)  مي‌شود و كليه دستورات مذكور را به ترتيب زمان انجام، در درون ليست قرار مي‌دهد (شكل 5).&lt;BR&gt; &lt;/P&gt;
&lt;P align=justify&gt;
&lt;TABLE style=&quot;WIDTH: 200px&quot; cellSpacing=1 cellPadding=1 align=left border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href=&quot;http://www.shabakeh-mag.com/img.aspx?l=/Data/Gallery/2005/7/47_sql_p2_05.jpg&quot;&gt;&lt;IMG style=&quot;WIDTH: 200px; HEIGHT: 125px&quot; alt=&quot;&quot; hspace=0 src=&quot;http://www.shabakeh-mag.com/Data/Gallery/2005/7/47_sql_p2_05_s.jpg&quot; border=0&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;شكل 5&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
<pubDate>Mon, 03 Nov 2008 15:49:47 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=34</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-34.aspx</guid>
</item>
<item>
<title>نگاهي به امكانات نسخه جديد SQL Server 2005 </title>
<link>http://sina383.blogfa.com/post-33.aspx</link>
<description>&lt;TABLE cellPadding=3 width=&quot;100%&quot; align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top align=middle height=25&gt;
&lt;DIV dir=rtl align=right&gt;&lt;SPAN class=titlearticles_b&gt;&lt;SPAN id=Title&gt;نگاهي به امكانات نسخه جديد SQL Server 2005&lt;/SPAN&gt; &lt;STRONG&gt;&lt;FONT face=&quot;Arial, Helvetica, sans-serif&quot; color=#000000 size=3&gt;&lt;SPAN id=PageNumber1&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top align=middle colSpan=2&gt;
&lt;DIV id=ArticleSpec align=right&gt;
&lt;P class=text2 dir=rtl align=right&gt;&lt;IMG id=image1 alt=&quot;&quot; src=&quot;http://www.shabakeh-mag.com/Data/Articles/Items/2005/9/1001366_b.jpg&quot; align=left border=0&gt; &lt;SPAN id=Authors&gt;مهيار داعي‌الحق&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN class=date dir=rtl&gt;&lt;SPAN id=ArticleDate&gt;ماهنامه شبکه - فروردين و ارديبهشت ۱۳۸۳ شماره 53&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR&gt;&lt;FONT face=&quot;Arial, Helvetica, sans-serif&quot;&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;&lt;BR&gt;اشاره : &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;SPAN class=text&gt;&lt;SPAN id=Description&gt;عرضه شدن نسخه 2005 پايگاه داده‌اي مشهور مايكروسافت يعني SQLServer، بازار نرم‌افزارهاي بانك اطلاعاتي را به شدت تحت تأثير خود قرار داد. امكانات گسترده‌اي كه در اين نسخه جديد تعبيه شده، طراحي و پياده‌سازي بانك‌هاي اطلاعاتي را سرعت بخشيده و تلفيق و انطباق آن با انواع فناوري‌هاي نو مانند XML وADO.NET، باعث افزايش قدرت و كارايي آن شده است. در اين مقاله به برخي از ويژگي‌هاي جديد اين برنامه نگاهي خواهيم داشت. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2 height=13&gt;
&lt;DIV dir=rtl&gt;
&lt;DIV align=justify&gt;&lt;SPAN id=Text1&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;FONT face=Arial&gt;Snapshot Isolation Level&lt;/FONT&gt;&lt;/STRONG&gt; &lt;BR&gt;يكي از روش‌هايي كه به انواع متدهاي قفل كردن رديف‌هاي يك جدول بانك‌اطلاعاتي در نسخه جديد اضافه شده است، شيوه تصويربرداري از ركورد است. در روش‌هاي قبلي، اگر يك يا چند ركورد بانك اطلاعاتي توسط دستور BeginTrans كه شروع يك فرآيند را مشخص مي‌كند در شرف تغيير يا حذف قرار مي‌گرفتند، تا مادامي‌ كه فرآيند مذكور توسط دستور Commit Trans تأييد يا توسط RollBack منتفي نشود، از هيچ جا و برنامه‌اي نمي‌توان ركوردهاي مذكور را حتي با دستور ساده SELECT خواند. اما در روش جديد قفل‌گذاري، در صورت بروز چنين رويدادي ساير كاربران مي‌توانند همواره آخرين ارزش ركوردهاي مذكور را با اين فرض كه هنوز هيچ تغييري در آن‌ها ايجاد نشده است بخوانند و مورد استفاده قرار دهند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;FONT face=Arial size=3&gt;باز هم دات‌نت&lt;/FONT&gt;&lt;/STRONG&gt; &lt;BR&gt;با نسخه جديد SQL Server، برنامه‌نويسان بانك‌هاي اطلاعاتي قادرند از امكانات و قابليت‌هاي موجود در پلتفرم دات‌نت و كليه توابع و كلاس‌هاي ساخته شده در آن بهره‌مند شوند. يكي از ابتدايي‌ترين و در عين حال اساسي‌ترين اين قابليت‌ها، امكان استفاده از دو زبان مهم و كاربرپسند دات‌نت يعني ويژوال بيسيك و سي‌شارپ در پياده‌سازي اجزاي مختلف يك بانك‌اطلاعاتي است. اين عامل نه‌تنها باعث مي‌شود كه برنامه‌نويسان براي نوشتن ماژول‌هايي مثل تريگرها، روال‌ها (Stored Procedures) در توابع به جاي استفاده از زبان استاندارد و در عين حال پيچيده T-SQL ، بتوانند از زبان‌هاي محيط دات‌نت با تمام ساختارها، دستورات، كلاس‌ها، آرايه‌ها، و خلاصه تمام ويژگي‌هاي يك زبان شي گرا استفاده كنند، بلكه اين همكاري نزديك بين موتور برنامه‌نويسي دات‌نت يعني CLR (كه مسؤول تبديل كدهاي نوشته شده دات‌نت به زبان سيستم‌عامل است) و موتور بانك اطلاعاتي SQLServer باعث شده تا به غير از تنوع زبان‌هاي برنامه‌نويسي قابل استفاده درSQLServer، تغيير قابل توجهي نيز در كارايي ماژول‌هاي مذكور پيش آيد. در واقع موضوع از اين قرار است كه اصولاً كدهاي نوشته شده به زبان‌هاي دات‌نت، ابتدا توسط كامپايلر به زبان (IL) ترجمه مي‌شوند. سپس CLR اين كد مياني را به كد قابل فهم سيستم‌عامل تبديل و آماده اجرا مي‌نمايد. اين كار سبب مي‌شود تا كدهاي نهايي به دليل اين‌كه بسيار به سيستم‌عامل نزديك مي‌باشد سريع‌تر از كدهاي TSQL (كه فقط توسط موتور بانك اطلاعاتي قابل اجرا هستند) اجرا شوند و در زمان اجرا از كارايي بيشتري برخوردار باشند. البته اين مسأله بدين معني نيست كه استفاده از زبان‌هاي دات‌نت هميشه بر زبان‌هاي SQL ارجحيت دارد، بلكه منظور آن است كه در برخي موارد ممكن است آن قدر منطق و الگوريتم يك ماژول پيچيده باشد كه برنامه‌نويس استفاده از زبان‌هاي دات‌نت را به دليل آسان‌تر بودن ساختار و دستورات آن به زبان SQL ترجيح دهد. بنابراين زماني كه بيشترعمليات يك ماژول مربوط به خواندن و نوشتن اطلاعات باشد بهتر است از همان دستورات استاندارد SQL  يعني SELECT ،UPDATE ،DELETE وINSERT استفاده كرده و بي‌جهت منابع سيستم را صرف تعريف متغيرها و كلاس‌هاي دات‌نت ننمايد. اما در ماژول‌هايي كه بيشتر عملياتشان شامل پردازش اطلاعات مثل انجام عمليات‌هاي رياضي يا مقايسه اطلاعات با يكديگر است بهتر است تا هم از امكانات برنامه‌نويسي و هم از سرعت و كارايي بالاي دات‌نت در اين زمينه بهره برد و ماژول‌هاي مذكور را با زبان‌هاي دات‌نت پياده‌سازي كرد. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt; &lt;STRONG&gt;&lt;FONT face=Arial size=3&gt;&lt;FONT size=2&gt;ADO .NET&lt;/FONT&gt; وارد مي‌شود&lt;/FONT&gt;&lt;/STRONG&gt; &lt;BR&gt;طبق يك سنت نه‌چندان قديمي برنامه‌نويسي در محيط ويندوز، برنامه‌نويسان SQLServer، بانك اطلاعاتي موردنظرشان را برروي سرور و برنامه كاربردي نوشته شده با زباني مثل ويژوال بيسيك را بر روي كلاينت‌ها قرار مي‌دهند. سپس از طريق اين برنامه كاربردي و با استفاده از اشيايي از جنس ADO داده‌هاي موردنياز خود را از سمت سرور دريافت كرده و يا به آن ارسال مي‌كنند. اكنون اين ارتباط به لطف نسخه جديد SQLServer و همچنين محيط دات‌نت، با امكانات جديدADO.NET بسيار كامل‌تر از قبل شده است. اين ارتباط جديد با استفاده از مكانيسمي به نام اعلان (Notification) به يك ارتباط دو‌طرفه فعال تبديل شده به طوري كه ADO.NET قادر است پيغام‌هايي را از سمت پايگاه داده به سمت كلاينت ارسال كند. به عنوان مثال فرض كنيد كه شما با استفاده ازADO تعدادي از ركوردهاي يك جدول بانك اطلاعاتي را انتخاب كرده و مشغول كار برروي آن‌ها هستيد. در همين هنگام كاربر ديگري از طريق كلاينت و ADO خود، ركوردي در محدوده ركوردهاي مورد انتخاب شما را تغيير مي‌دهد يا حذف مي‌كند. در اين وقت موتور پايگاه داده با ارسال پيغامي به ADO شما، اين مسأله را با استفاده از فراخواني يك رخداد (Event) شي ADO به اطلاعتان مي‌رساند. &lt;BR&gt;علاوه براين قابليت جديد، فناوري جديد ديگري هم با استفاده ازADO.NET به نسخه جديد SQLServer اضافه شده و آن امكان چند پرس‌وجوي همزمان توسط يك شي ADO است. در اين شيوه اگر يك شي ADO با استفاده از دستور SELECT مشغول خواندن تعدادي از ركوردهاي يك جدول بانك اطلاعاتي باشد، مي‌تواند بدون اين‌كه منتظر به پايان رسيدن اين عمليات شود، تعداد ديگري از ركوردهاي يك جدول ديگر بانك اطلاعاتي را بخواند. اين قابليت جديد با نام (Multiple Active Result Set (MARS كه قبلاً فقط در كرسرهاي سمت سرور (server side) و آن هم نه با كارايي بالا وجود داشت اكنون در كرسرهاي سمت راست كلاينت هم وجود دارد و تفاوت عمده آن با شكل قديمي هم علاوه بر مورد مذكور، امكان ايجاد چند كرسر در يك شي ADO به صورت همزمان است. SQLServer نسخه 2005 به خوبي از تمام اين ويژگي‌ها، پشتيباني مي‌كند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;FONT face=Arial size=3&gt;تكنولوژي &lt;FONT size=2&gt;XML&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;   &lt;BR&gt;
&lt;TABLE style=&quot;WIDTH: 200px&quot; cellSpacing=0 cellPadding=0 align=left border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href=&quot;http://www.shabakeh-mag.com/img.aspx?l=/Data/Gallery/2005/9/53_sql_2.jpg&quot;&gt;&lt;IMG style=&quot;WIDTH: 200px; HEIGHT: 167px&quot; alt=&quot;&quot; hspace=0 src=&quot;http://www.shabakeh-mag.com/Data/Gallery/2005/9/53_sql_2_s.jpg&quot; border=0&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;اكنون كه XML به يك استاندارد ارتباطي بين سكوهاي مختلف تبديل شده است، نسخه جديد SQLServer هم از توجه كافي به آن و ايجاد يك انقلاب در ساده‌تر استفاده كردن از آن طفره نرفته است. در نسخه 2000 كاربران قادر بودند تا با استفاده از دستور FOR XML نتيجه يك پرس‌وجوي SELECT از يك بانك اطلاعاتي را به درون يك فايل XML بريزند يا مثلاً با دستور OPEN XML مي‌توانستند يك فايل XML را باز كرده و شروع به خواندن دستورات درون آن نمايند. &lt;BR&gt;از آن‌جا كه در نسخه جديد SQLServer توجه خاصي به اين استاندارد و زبان ارتباطي شده است، يك نوع داده جديد (Data type) به انواع داده‌هاي قبلي و استاندارد SQL مثل int ، char و امثال آن اضافه شده است. اين نوع داده جديد كه XML نام دارد و داراي خصوصيات يك نوع داده موجود در يك محيط شي‌گرا است، داراي متدهاي پيشرفته‌اي چون ()nodes() ،Value() ،exist() ،query و ()modify بوده و قادر است انواع پردازش‌هاي قابل انجام برروي اسناد XML را به راحتي انجام دهد. عمليات جستجو، تغيير، حذف و درج مقادير موردنظر در داخل يك فايل XML را مي‌توان با استفاده از متدهاي مذكور و صرفاً با چند خط برنامه‌نويسي انجام داد. همچنين در اين نسخه برخلاف نسخه 2000، با استفاده از دستور FOR XML مي‌توان يك شيء از جنس XML را بدون ارسال آن به كلاينت، برروي سرور ساخته و از آن نگهداري كرد. با اين كار مي‌توان جداولي را كه مرتباً مورد رجوع كاربران قرار مي‌گيرند هراز گاهي در قالب XML به داخل حافظه آورد و كاربران مذكور به جاي رجوع به جداول اصلي در هاردديسك، با استفاده از دستورات ويژه جستجو درXML ، متغير مذكور را در حافظه سرور مورد جستجو قرار دهند و بدين‌وسيله يك نوع عمل Cache كردن را جهت افزايش سرعت دسترسي به اطلاعات تكراري شبيه‌سازي كنند. در اين حالت، كاربران به جاي استفاده از دستورSELECT استاندارد مي‌توانند از OPEN XML كه در نسخه 2005 قادر است متغيرهاي جديد از نوع XML را بخواند استفاده كرده و به سرعت به اطلاعات موردنياز خود دسترسي پيدا كنند. اين قابليت جديد آن‌قدر در سريع‌تر كردن جستجو در برنامه‌هاي تحت وب مهم و مؤثر است كه جاي هيچ مشكلي را در استفاده از آن باقي نمي‌گذارد. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;FONT face=Arial size=3&gt;سرويس اعلان&lt;FONT size=2&gt; (Notification)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;   &lt;BR&gt;همان‌طور كه گفتيم سيستم اعلان درSQLServer قادر است پيغام‌هايي را طي زمان‌هاي مشخص به سمت كاربران بفرستد. مثلاً تصور كنيد كه تعدادي كاربر در حال اتصال به يك بانك حاوي اطلاعات مربوط به ارزش سهام در بورس هستند. از آن‌جايي كه ممكن است قيمت سهام هر شركت يا مؤسسه براي تعدادي از كاربران از اهميت زيادي برخوردار باشد، مي‌توان اين سيستم را طوري تنظيم كرد تا هرگاه ارزش سهام خاصي كه موردنظر هر كاربر است تغيير كرد، به صورت اتوماتيك به وي اعلام شود. كاربر هم مي‌تواند اين تغييرات را برروي برنامه كاربردي خود، تلفن همراه (در قالب Windows Messenger ،(SMS و يا ايميل به‌صورت مرتب دريافت و مشاهده كند. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;FONT face=Arial size=3&gt;سرويس گزارش‌گيري &lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;سرويس جديد توليد گزارش‌هاي متنوع در نسخه 2005 به يكي از جالب‌ترين و پركاربردترين قابليت‌هاي اين نسخه تبديل شده است، وجود يك موتور گزارشگر قوي در سمت سرور و يك ابزار مناسب ساخت گزارش با واسط كاربر عالي، باعث شده تا برنامه‌نويسان بتوانند گزارش‌هاي موردنظر خود را با كارايي و سرعت مناسب در سمت سرور بسازند به طوري كه اين گزارش‌هاي سمت سرور توسط هر برنامه كاربردي سمت كلاينت در هر پلتفرمي با همان امكانات اتصال به SQLServer قابل مشاهده  است. &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;&lt;FONT face=Arial size=3&gt;بهبودهاي ايجاد شده در زبان&lt;/FONT&gt;&lt;/STRONG&gt; &lt;BR&gt;در 2005 SQLServer تغييرات بسيار مثبتي در زبان SQL T  ايجاد شده است. اين تغييرات در زمينه‌هاي مختلف مثل مديريت خطاها، جستجوهاي بازگشتي (Recursive Query) و حتي در بدنه موتور پايگاه داده‌ها انجام شده و كارايي كلي ذخيره و يا خواندن اطلاعات را به نحو مطلوبي افزايش داده است. به عنوان مثال دردستورات &lt;BR&gt;TSQL، دو اپراتور جديد ديده مي‌شود، كه PIVOT وUNPIVOT نام دارند. اين دو اپراتور كه در قسمت FROM يك پرس‌وجو مورد استفاده قرار مي‌گيرند مي‌توانند نتيجه يك جستجوي انجام شده توسط دستور SELECT را به جاي برگرداندن در قالب رديف‌ها يا ركوردهاي پشت‌سرهم، به صورت ستون‌هاي مختلف يك يا چند ركورد برگردانند. در اين روش يكي از ستون‌هاي (فيلدهاي) يك جستجو به عنوان محور معرفي شده و بقيه ستون‌ها براساس آن به صورت افقي طبقه‌بندي مي‌شوند. به يك مثال توجه كنيد: &lt;BR&gt;SELECT CUSTOMER ID, order No&lt;BR&gt;FROM orders PIVOT CustomerID&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;
&lt;TABLE style=&quot;WIDTH: 300px&quot; cellSpacing=1 cellPadding=1 align=center border=1&gt;
&lt;TBODY&gt;
&lt;TR bgColor=#000000&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial color=#ffffff size=2&gt;&lt;STRONG&gt;Order No&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial color=#ffffff size=2&gt;&lt;STRONG&gt;Order No&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial color=#ffffff size=2&gt;&lt;STRONG&gt;Order No&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial color=#ffffff size=2&gt;&lt;STRONG&gt;Order No&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial color=#ffffff size=2&gt;&lt;STRONG&gt;Customer ID&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P align=center&gt; &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;4400&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;1120&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;25&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#eaeaea&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;350&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;1780&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;443&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#eaeaea&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;8989&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;2222&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;1980&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;555&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P align=center&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;                                            &lt;STRONG&gt;&lt;FONT face=Arial&gt;  نتيجه جستجوي فوق چيزي شبيه جدول بالا‌ خواهد بود&lt;/FONT&gt;&lt;/STRONG&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;&lt;FONT face=Tahoma size=2&gt;همان‌طور كه مشاهده مي‌كنيد با استفاده از اپراتور مذكور، نتيجه پرس‌وجوي انجام شده به اين صورت كه هر رديف به يك شماره مشتري و چندين شماره سفارش مربوطه به آن مشتري در قالب ستون‌هاي مختلف است، در مي‌آيد. اين همان چيزي است كه سال‌ها درSQLServer وجود نداشت و ابزارهاي مختلف گزارش‌سازي مثل CrystalReport آن را با نام Cross Tab به كاربران خود ارايه مي‌دادند. در همين رابطه اپراتورUNPIVOT هم عمل عكس اپراتور مذكور را انجام مي‌دهد. &lt;BR&gt;اپراتور ديگري كه مي‌تواند نقش مهمي را در دستورات SQL بازي كند APPLY نام دارد كه در قسمت FROM يك دستور SQL به كار مي‌رود. با استفاده از اين دستور مي‌توان خروجي يك تابع (Function) را با يك يا چند جدول ديگر تركيب (Join) كرد همان‌طور كه مي‌دانيد در 2005  SQLServer توابع مي‌توانند يك يا چند رديف يك جدول اطلاعاتي را برگردانند كه اين خروجي مي‌تواند با يك جدول ديگر با استفاده از اپراتور مذكور تركيب شود. &lt;BR&gt;&lt;STRONG&gt;&lt;FONT face=Arial size=3&gt;&lt;BR&gt;مديريت خطا &lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;در نسخه‌هاي قديمي SQLServer براي كشف و مديريت خطا از سيستم Error Handling استفاده مي‌شد. اين شيوه كشف خطا كه در زباني مثل ويژوال بيسيك 6 هم مورد استفاده قرار مي‌گرفت با استفاده از دستور GOTO  مي‌توانست كنترل و خط اجراي روال را از يك محل به محل ديگر و در واقع از محل بروز خطا به محل مديريت و آشكار كردن (Raise) آن ببرد و بدين‌وسيله پيغام خطايي را به كار نشان دهد. نسخه جديد SQLServer با تأثير از پلتفرم دات‌نت، از دستورات ويژه كشف و مديريت خطا با عنوان Exception Handling استفاده مي‌كند. اين روش با استفاده از دستورات جديد TRY/CATCH شيوه بهتري از مديريت خطا را به اجرا مي‌گذارد. در اين روش برخلاف روش قبل، تمام خطاهاي اتفاق‌افتادني مثل خطاهاي مربوط به تبديل داده‌ها به يكديگر (DataConversion) به خوبي مديريت شده و از بروز خطاهايي كه منجر به اتمام ناقص عمليات يك روال يا تريگر مي‌شود جلوگيري به عمل مي‌آيد. &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT face=Arial size=3&gt;پي‌نوشت:&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;اطلاعات بيشتر درباره اين نرم‌افزار (از جمله چند دموي Flash) را مي‌توانيد از &lt;A href=&quot;http://www.microsoft.com/sql/2005/default.mspx&quot;&gt;اين نشاني&lt;/A&gt; بدست آوريد.&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
<pubDate>Mon, 03 Nov 2008 15:49:10 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=sina383&amp;postid=33</comments>
<dc:creator>sina383</dc:creator>
<guid>http://sina383.blogfa.com/post-33.aspx</guid>
</item>
</channel>
</rss>
