دانلود مقاله-تحقیق-پروژه-کارآموزی

مرجع کامل خرید و دانلود گزارش کار آموزی ، گزارشکار آزمایشگاه ، مقاله ، پروژه و پایان نامه های کلیه رشته های دانشگاهی

دانلود مقاله-تحقیق-پروژه-کارآموزی

مرجع کامل خرید و دانلود گزارش کار آموزی ، گزارشکار آزمایشگاه ، مقاله ، پروژه و پایان نامه های کلیه رشته های دانشگاهی

شرح زبان سی شارپ و قابلیت های تحت وب آن (دات نت)

‍C یکی از زبانهای جدید برنامه‌سازی شی‌گرا است که با ارائة رهیافت ComponentBased به طراحی و توسعه نرم‌افزار می‌پردازد آنچه ما در حال حاضر از زبانهای برنامه‌سازی ComponentBased در اختیار داریم و آنچه که C در اختیار ما قرار می‌دهد، افق جدیدی به سوی تولید و طراحی نرم‌افزارهای پیشرفته را در روی ما قرار می‌دهند
دسته بندی برنامه نویسی
بازدید ها 61
فرمت فایل doc
حجم فایل 146 کیلو بایت
تعداد صفحات فایل 95
شرح زبان سی شارپ و قابلیت های تحت وب آن (دات نت)

فروشنده فایل

کد کاربری 1024
کاربر

شرح زبان سی شارپ و قابلیت های تحت وب آن (دات نت)

مقدمه

‍C# یکی از زبانهای جدید برنامه‌سازی شی‌گرا است که با ارائة رهیافت Component-Based به طراحی و توسعه نرم‌افزار می‌پردازد. آنچه ما در حال حاضر از زبانهای برنامه‌سازی Component-Based در اختیار داریم و آنچه که C# در اختیار ما قرار می‌دهد، افق جدیدی به سوی تولید و طراحی نرم‌افزارهای پیشرفته را در روی ما قرار می‌دهند.

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

زبان برنامه‌سازی C#، به همراه تکنولوژی جدید شرکت نرم‌افزاری مایکروسافت یعنیNET. ارائه گردید، از این رو از تکنولوژیNET. این شرکت بهره می‌برد. پس در ابتدا به بیان مطالبی درباره محیطNET. می‌پردازیم.


فصل اول:تکنولوژیNET.

چراNET

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

NET. به منظور پشتیبانی از کاربردهای عصر جدید اینترنت ساخته شد. مواردی همچون گسترش، امنیت و versioning، که از مسایل مهممی بودند، توسط NET. پوشش داده شدند. قسمت مرکزیNET. بخش CLR (Common Language Runtime) است که یک موتور اجرایی مجازی است که از توسعه، امنیت و ارتقای نسخه کد پشتیبانی می‌نماید. در گذشته چنین امکاناتی برای کدهای کامپایل شده فراهم نبود. بدلیل اینکهNET. توانست بر این مشکلات اساسی فائق آید، راه حل قدرتمندتری جهت ساخت برنامه‌های تحت اینترنت به شمار می‌رود.

NET. چیست؟

NET. محیطی جهت ساخت برنامه‌های توزیع شده است که شامل ابزارهایی نظیر ""کتابخانه کلاسهای پایه"(BCL: Base Class Library)، CLR و زبانهای برنامه‌نویسی است. این ابزارها امکان ساخت انواع مختلفی از نرم‌افزارها، از قبیل فرمهای ویندوز، ADONET.، ASPNET. و سرویسهای وب، را فراهم می‌آورند.

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

ADONET. مجموعه‌ای از کلاسهای شی‌گرایی است که جهت ساخت مولفه‌های داده و سطوح دسترسی داده در برنامه‌های n-tiered مورد استفاده قرار می‌گیرد.

ASPNET. شامل مدل برنامه‌نویسی فرمهای وب است که بوسیلة آن برنامه‌های تحت وب ساخته شده و تحت اینترنت قابلیت اجرا پیدا کرده و از طریق مرورگر(Browser) قابل دسترسی می‌باشند. این روش مدل بهبود یافته برنامه‌سازی وب است که در آن کدها در سرور کامپایل می‌شوند ولی همانند صفحات HTML در کامپیوتر مشتری اجرا می‌شوند.

سرویسهای وب، رهیافتی جدید، مستقل از platform و استاندارد، جهت ایجاد ارتباط و فعالیت بین سیستمهای ناهمگون در اینترنت، می‌باشند. سرویسهای وبNET.، از زیر ساخت شی‌گرایی برنامه‌نویسی ASPNET. استفاده می‌کنند، اما همچنان از استانداردهای باز و مدلی بر پایة پیغام(Message Based Model) استفاده می‌نمایند. استفاده از استانداردهای باز از قبیل XML، WSDL و UDDI باعث می‌شوند تا سرویسهای وب با سایر سرویسهای وب استاندارد که پیاده‌سازی‌هایی متفاوت دارند، بدون توجه به محیط و platform آنها، ارتباط برقرار نمایند.

این چند نمونه، اندکی از انواع مختلف نرم‌افزارهایی بودند که می‌توان تحتNET. به پیاده‌سازی آنها پرداخت.

کتابخانه‌های کلاس‌های پایه(Base Class Library: BCL)

BCL درNET.، شامل هزاران نوع قابل استفاده، جهت افزایش بهره‌وری در ساخت برنامه‌هایNET. است. به علت گستردگی BCL یادگیری تمام کلاسهای آن وقت‌گیر بوده و امکان پذیر نمی‌باشد، به همین دلیل برای صرفه‌جویی در زمان بهتر است قبل از ایجاد یک نوع خاص به جستجوی نوع‌های موجود در BCL بپردازیم. نگاهی کلی به BCL می‌تواند بسیار سودمند باشد. جدول زیر Namespace های مهم و توضیح نوعهای مختلف BCL را نمایش می‌دهد.

NET. Namespaces

Namespace

Description

System

The most commonly used types.

System.CodeDom

Allows creating types that automate working with source code, that is, compilers and code creation tools.

System.Collections

Collection types such as ArrayList, Hashtable, and Stack.

System.ComponentModel

Supports building reusable components.

System.Configuration

Types for working with various kinds of XML configuration files.

System.Data

Most of the types for ADONET. database programming. Other types are in namespaces that are specific to a database or data interface.

System.Diagnostics

Process, EventLog, and Performance Counter types.

System.DirectoryServices

Managed interface for accessing Windows Active Directory Services.

System.Drawing

GDI+ types.

System.EnterpriseServices

COM+ types.

System.Globalization

Types for culture-specific support of calendars, formatting, and languages.

System.IO

Directory, File, and Stream types.

System.Management

APIs for performing WMI tasks.

System.Messaging

Types for working with message queues.

SystemNET.

Access to networking protocol types.

System.Reflection

Reflection APIs for inspecting assembly metadata.

System.Resources

Types for culture-specific resource management.

System.Runtime

COM Interop, Remoting, and Serialization support.

System.Security

Code access security, role-based security, and cryptography types.

System.ServiceProcess

Types for building Windows Services.

System.Text

Text encoding/decoding, byte array from/to string translation, the StringBuilder class, and regular expressions.

System.Timers

Timer types.

System.Threading

Threads and synchronization types.

System.Web

HTTP Communications, ASPNET., and Web Services types.

System.Windows

Windows Forms types.

System.XML

All XML support types, including XML Schema, XmlTextReaders/XmlTextWriters, XPath, XML Serialization, and XSLT.

جدول 1-1 Namespaceهای مهم و رایج

هر Namespace مجموعه‌ای از کلاسهای از پیس ساخته شدةNET. است که می‌توان از آنها در برنامه‌های مختلف استفاده نمود.

(Common Language Runtime)CLR

CLR یک موتور اجرایی است که با هدف اصلی اجرای هدایت شدة کدها درNET. ایجاد گردیده است. CLR به مدیریت اجرا، ارتقای نسخه و امنیت تمامی کدها درNET. می‌پردازد. به همین دلیل کدهایNET. یا C# اغلب تحت عنوان کدهای مدیریت شده، شناخته می‌شوند.(Managed Code) تمامی کدهایی که به CLR مرتبت هستند، تحت عنوان "مدیریت شده" و کدهایی توسط CLR مدیریت نشده‌اند، بلکه مستقیماً به کد ماشین تبدیل می‌شوند، تحت عنوان "مدیریت نشده" بیان می‌شوند.

کدهای مدیریت شده، به کد ماشین کامپایل نمی‌شوند، بلکه به زبان سطح میانی مایکروسافت(MSIL) کامپایل شده و مورد استفاده قرار می‌گیرند. این زبان سطح میانی را می‌توان زبانی شبیه به زبان اسمبلی تصور کرد. IL در حافظه بارگذاری می‌شود و بلافاصله بوسیلة CLR در حافظه به کد ماشین کامپایل می‌گردد.

برنامه‌هایNET. از اسمبلی‌هایی تشکیل شده‌اند که اجزای خودکار منطقی توسعه، شناسایی و امنیت به حساب می‌آیند و تفاوت آنها با روشهای قدیمی در آن است که اسمبلی می‌تواند شامل یک یا چندین فایل باشد. اسمبلیNET. به صورت یک فایل اجرایی تک یا یک فایل کتابخانه‌ای است، اما ممکن است حاوی ماژول‌ها، که کدهایی غیر اجرایی بوده و قابلیت استفادة مجدد را دارند، نیز باشد.

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


بهینه‌سازی و پردازش پرس و جو

در این تحقیق ما به تکنیک‌های بکار رفته توسط DMBS برای پردازش، بهینه‌سازی و اجرای پرس و جوهای سطح بالا می‌پردازیم پرس و جوی بیان شده در زبان پرس‌و جوی سطح بالا مثل SQL ابتدا باید پویش و تجزیه معتبر شود
دسته بندی کامپیوتر و IT
بازدید ها 52
فرمت فایل doc
حجم فایل 458 کیلو بایت
تعداد صفحات فایل 68
بهینه‌سازی و پردازش پرس و جو

فروشنده فایل

کد کاربری 1024
کاربر

بهینه‌سازی و پردازش پرس و جو

در این تحقیق ما به تکنیک‌های بکار رفته توسط DMBS برای پردازش، بهینه‌سازی و اجرای پرس و جوهای سطح بالا می‌پردازیم.
پرس و جوی بیان شده در زبان پرس‌و جوی سطح بالا مثل SQL ابتدا باید پویش و تجزیه . معتبر شود. پویشگر (اسکنر) علامت هر زبان، مثل لغات کلیدی SQL، اساس ویژگی، و اساس رابطه، را در متن پرس و جو شناسایی می‌کند،‌ در عوض تجربه کننده، ساختار دستوری پرس و جو را برای تعیین اینکه آیا بر طبق قوانین دستوری زبان پرس و جو تدوین می‌شود یا خیر، چک می‌کند. پرس و جو باید همچنین معتبر شود، با چک کردن اینکه تمام اسامی رابطه و ویژگی معتبر هستند و اسامی معنی‌دار در طرح پایگاه اطلاعاتی ویژها‌ی پرس و جو می‌شوند. نمونه داخلی پرس و جو ایجاد می‌شود،‌‌ که تحت عنوان ساختار داده‌های درختی بنام درخت پرس و جو می‌باشد. ارائه پرس و جو با استفاده از ساختار داده‌های گراف بنام گراف پرس و جو نیز امکان پذیر است. DOMS باید استراتژی اجرایی برای بازیابی نتیجه پرس و جو از فایل‌های پایگاه اطلاعاتی را هدایت کند. پرس و جو استراتژیهای اجرایی بسیاری دارد. و مرحلة انتخاب،‌ مورد مناسبی برای پردازش پرس وجو تحت عنوان بهینه‌سازی پرس و جو شناخته شده است.
تصویر 1، مراحل مختلف پردازش پرس و جوی سطح بالا را نشان می‌دهد. قطعه بر نامه بهینه‌ساز پرس وجو، وظیفه ایجاد طرح اجرایی را بعهده دارد و ژنراتور (تولید کننده) که ، کد را برای اجرای آن طرح ایجاد می‌کند. پردازنده پایگاه اطلاعاتی زمان اجرا وظیفه اجرای که پرس و جو را بعهده دارد،‌ خواه در وضعیت کامپایل شده یا تفسیر شده جهت ایجاد نتیجه پرس و جو. اگر خطای زمان اجرا نتیجه شود،‌ پیام خطا توسط پایگاه اطلاعاتی زمان اجرا ایجاد می‌شود.
اصطلاح بهینه‌سازی نام بی مسمایی است چون در بعضی موارد،‌ طرح اجرایی انتخاب شده، استراتژی بهینه نمی‌باشد، آن فقط استراتژی کارآمد معقول برای اجرای پرس و جو است. یافتن استراتژی بهینه، ضامن صرف زمان زیادی است، بجز برای ساده‌ترین پرس و جوها،‌ ممکن است به اطلاعاتی روی چگونگی اجرای فایل‌ها در فهرست‌های فایل‌ها، اطلاعاتی که ممکن است کاملاً در کاتالوگ DBMS در دسترس نباشد، نیاز باشد. از اینرو،‌ برنامه‌ریزی استراتژی اجرا ممکن است توصیف درست‌تری نسبت به بهینه‌سازی پرس و جو باشد.
برای زبانهای پایگاه اطلاعاتی (دریایی) جهت‌یابی در سطح پایینتر در سیستم‌های قانونی، مثل شبکه DML شبکه‌ای یا MOML سلسله مراتبی،‌ برنامه نویس باید، استراتی اجرای پذیرش و جو را انتخاب کند ضمن اینکه برنامه پایگاه اطلاعاتی را می‌نویسد. اگر DBMS فقط زیان جهت‌یابی را ارائه دهد. فرصت و نیاز محدودی برای بهینه‌سازی پرس وجوی وسیع توسط DBMS وجود دارد، در عوض به برنامه نویس قابلیت انتخاب استراتژی اجرایی بهینه ارائه می‌شود. بعبارت دیگر، زبان پرس و جو در سطح بالا، مثل SQL برای DBMSهای رابطه‌ای یا OQL برای DBMS‌های مقصد،‌ در ماهیت تفریطی‌تر است. چون آنچه نتایج مورد نظر پرس و جو است بغیر از شناسایی جزئیات چگونگی بدست آمدن نتیجه،‌ را تعیین می‌کند. بهینه‌سازی پرس و جو برای پرس و جوهایی ضروی است که در زبان پرس و جوی سطح بالا تعیین می شوند. ما روی توصیف بهینه‌سازی پرس و جو در زمینه ROBMS تمرکز می‌کنیم چون بسیاری از تکنیک‌هایی که توصیف می‌ کنیم برای، برای ODBMSها تطبیق یافته‌اند. DBMS رابطه‌ای باید استراتژیهای اجرای پرس و جوی دیگری را ارزیابی کند و استراتژی بهینه یا کارآمد معقولی را انتخاب کند. هر DBMS ،‌ تعدادی الگاریتم دسترسی به پایگاه اطلاعاتی کلی دارد که علامتهای رابطه‌ای مثل SELECT یا JOIN یا ترکیبی از این عملیات ‌ها را اجرا می‌کند. تنها استراتژیهای اجرایی که می‌توانند توسط الگاریتم‌های دسترسی DBMS اجرا شوند و برای طراحی پایگاه اطلاعاتی فیزیکی ویژه و پرس و جوی خاص بکار روند،‌ می‌توانند توسط قطعه برنامه بهینه‌سازی پرس و جو در نظر گرفته شوند.
ما با بحث کلی چگونگی ترجمه پرس و جوهای SQL به پرس و جوهای جبری رابطه‌ای و در بهینه‌شدن آنها کار را شروع می‌کنیم. بعد ما روی الگاریتم‌ها برای اجرای عملیات‌های رابطه‌ای در بخش 1802 بحث می‌کنیم. بدنبال این مطلب، بررسی از استراتژیهای بهینه‌سازی پرس و جو را ارائه می‌دهیم. دو تکنیک اصلی برای اجرای بهینه‌‌سازی پرس و جو وجود دارد. اولین تکنیک بر اساس قوانین ذهنی جهت ترتیب دادن عملیات‌ها در استراتژی اجرای پرس و جو می‌باشد. ذهن قانونی است که بخوبی در اکثر موارد عمل می‌کند ولی برای کار مناسب در هر مورد کنش تضمین نمی‌شود. قوانین عملیات‌ها را در درخت پرس وجو مجدداً ترتیب می‌دهند. دومین تکنیک شامل برآورد هزینه استراتژیهای اجرای متفاوت و انتخاب طرح اجرایی با پایین‌ترین هزینه برآورد است. دو تکنیک معمولاً در بهینه ساز پرس و جو (باهم ترکیب می‌شوند) بهم ملحق می‌گردند. بررسی مختصری از عوامل در نظر گرفته شده در طول بهینه‌سازی پرس و جو در RDBMS بازرگانی ORACLL= را ارائه می‌دهیم. در بخش بعدی نوعی بهینه‌سازی پرس و جوی معنایی را ارائه می‌دهد که در آن محدودیت‌های شناخته شده برای پرداختن به استراتژیهای اجرایی پرس و جوی کارآمد استفاده می‌شوند.
2 – ترجمه پرس و جوهای SQL به پرس و جوهای رابطه‌ای:
در عمل، SQL زبان پرس وجویی است که در اکثر RDBMS ‌های بازرگانی استفاده می‌شود. پرس وجوی SQL ، ابتدا به عبارت جبری رابطه‌ای توسعه یافته معادل،‌ نمایانگر ساختار داروهای درخت پرس و جو، ترجمه می‌شود و بعد بهینه‌سازی می‌شود. پرس و جوهای SQL به بلوکهای پرس و جو تجزیه می‌شوند،‌ که واحدهای اساسی را تشکیل می‌دهند که می‌توانند به عملکردهای جبری ترجمه شوند و بهینه‌سازی شوند. بلوک پرس و جو شامل عبارت SELECT- FROM-WHERE تکی و بندهای Groop By و HAVING است چنانچه این‌ها بخشی از بلوک باشند. از اینرو،‌ پرس و جوهای تو در تو در پرس و جو بعنوان بلوکهای پرس و جوی مجزا شناسایی می‌شوند. چون SQL شامل عملکردهای گروهی، مثل MAX ،‌ COUNT,SUM می‌باشد، این عملگرها باید در پرس و جوی جبری توسعه یافته‌ای شامل شوند، همانطوریکه در بخش 705 توصیف شد. پرس و جوی SQL در رابطه EMPLOEE در تصویر 705 را در نظر بگیرید:
این پرس و جو شامل، پرس و جوی فرعی تو در تو است و از اینرو به دو بلوک تجزیه می‌شود. بلوک درونی بدین صورت است:
و بلوک بیرونی بدین صورت می باشد:
که C نمایانگر نتیجه حاصله از بلوک درونی است. بلوک درونی به عبارت جبری رابطه‌ای توسعه یافته زیر ترجمه شده است:
و بلوک بیرونی به عبارت زیر ترجمه شده است:
بهینه‌ساز پرس و جو، طرح اجرایی را برای هر بلوک انتخاب می‌کند. ما باید اشاره کنیم به در مثال فوق، بلوک درونی نیاز به ارزیابی شدن دارد تنها زمانی که، حداکثرحقوقی که بعکار می‌رود که بعنوان ثابت C، توسط بلوک بیرونی استفاده می‌شود. ما اینرو پرس و جوی تودرتوی غیرمرتبط نامیدیم (در فصل 8). آن برای بهینه‌سازی پرس و جوهای تو در توی مرتبط پیچیده‌تر، خیلی سخت‌تر است، جایی که متغیر Tuple از بلوک بیرونی در بند WHERE در بلوک درونی ظاهر می‌شود.
1802- الگاریتم های انسانی برای اجرای عملیاتهای پرس و جو:
RDBMS شامل الگاریتم‌هایی برای اجرای انواع مختلف عملیاتهای رابطه‌‌ای است که می‌توانند در استراتژی اجرای پرس و جو نمایان شوند، این عملیات‌ها شامل عملیاتهای جبری بیسیک (اصلی) و توسعه یافته مورد بحث در فصل 7 ، و در بسیاری موارد، الحاقاتی از این عملیات‌ها می‌باشد. برای هر یک از این عملیات ها یا الحاقی از عملیات‌ها، یک یا چند الگاریتم برای اجرای عملیات‌ها در دسترس قرار دارند. الگاریتم ممکن است فقط برای ساختارهای ذخیره خاص مسیرهای دستیابی بکار روند، در اینصورت ،‌ تنها در صورتی استفاده می‌شود که فایل های موجود در عملیات شامل این مسیرهای دستیابی هستند. در این بخش، ما به الگاریتم‌های نمونه بکار رفته برای اجرای SEKECT ، JOIN و دیگر عملیاتهای رابطه‌ای می‌پردازیم. ما بحث مرتب کردن خارجی را در بخش 180201 آغاز می‌کنیم که در قلب عملیاتهای رابطه‌ای قرار دارد که از استراتژیهای ادغام کردن به مرتب کردن استفاده می‌کند. بعد ما به الگاریتم‌هایی برای اجرای عملیات SELECT در بخش 180202 می‌پردازیم،‌ به عملیات ‌JOIN در بخش 180203 و عملیات PRIJECT و عملیاتهای مجموعه در بخش IE 1802 و عملیات‌های گروهی و جمعی در بخش 2 .2 . 18 می‌پردازیم.
1. 2. 18- مرتب کردن خارجی:
مرتب کردن، یکی از الگاریتم‌های اولیه بکار رفته در پردازش پرس و جو است. برای مثال، ‌به هر وقت پرس و جوی SQL ، بعد ORDER BY را تعیین می‌کند، نتیجه پرس و جو باید مرتب گردد. مرتب کردن، مؤلفه کلیدی در الگاریتم‌های مرتب کردن- ادغام کردن (مرتب-ادغام) بکار رفته برای Join و عملیاتهای دیگر، دور الگاریتم‌های حذف کپی برای عملیات PROYECT است. ما روی بعضی از این الگاریتم‌ها در بخش‌ 3. 2. 18 و 4. 02 18 بحث خواهیم کرد. توجه کنید که مرتب کردن در صورتی که اجتناب می‌شود که شاخص مناسب برای امکان دسترسی مرتب شده به ثبت‌ها وجود دارد.
مرتب کردن خارجی به الگاریتم‌های مرتب کردن اشاره می‌کند که برای فایل های بزرگ ثبت ‌های ذخیره شده روی دیسک مناسب هستند که در حافظه اصلی، مثل اکثر فایل های پایگاه اطلاعاتی تناسب نمی‌‌یابد. الگاریتم‌ مرتب کردن خارجی نمونه از استراتژی مرتب- ادغام استفاده می‌کند، که با مرتب کردن- فایل‌های فرعی کوچک بنام اجراها در فایل اصلی شروع می‌شود و بعد اجراها مرتب شده ادغام می‌شوند،‌‍ فایل‌های فرعی مرتب شده بزرگتری ایجاد می‌شوند که بترتیب ادغام می‌شوند. الگاریتم ادغام –مرتب،‌ مثل دیگر الگاریتم های پایگاه اطلاعاتی به فاضی بافر در حافظه اصلی نیاز دارد،‌ جایی که مرتب کردن واقعی و ادغام اجراها انجام می‌ شود. الگاریتم اصلی (سیبک) شرح داده شده در تصویر 1802 ، شامل دو مرحله است: (1) فاز یا مرحله مرتب کردن و (2) مرحله ادغام.
در مرحله مرتب کردن، اجراهای فایلی که می‌تواند در فضای باز موجود تناسب یابد در حافظه اصلی خوانده می‌شوند و با استفاده از الگاریتم مرتب کردن داخلی مرتب می‌شود عقب دیسک بعنوان فایل‌های فرعی مرتب شده متوفی نوشته می‌شود. اندازه اجرا و تعداد اجراهای آغازین توسط تعداد بلوکهای فایل (b) و فضای بافر موجود (NB) بیان می‌شود. برای مثال اگر بلوکو اندازه قایل 1024=b بلوک باشد،‌ بعد یا 205 اجرای آغازین در هر اندازه 5 بلوک است. از اینرو، بعد از مرحله مرتب کردن، 205 اجرای مرتب شده بعنوان فایل‌های فرعی موقتی روی دیسک ذخیره می‌شوند. اجرای مرتب شده بعنوان فایل‌های فرعی موقتی و روی دیسک ذخیره می‌شوند.
در مرحله ادغام شدن، اجراهای مرتب شده،‌ در طول یک یا چند گذر ادغام می‌‌شوند. درجه ادغام شدن تعداد اجراهایی است که می‌توانند با همدیگر در هر گذر ادغام شوند. در هر گذر، یک بلوک بافر، برای حفظ یک بلوک از هر اجرای ادغام شده نیاز می‌باشد، و یک بلوک برای تشکیل یک بلوک نتیجه ادغام لازم است . از اینرو،‌ کوچکتر از و است و تعداد گذرها، است. در مثالها، است. لذا،‌ 205 اجرای مرتب شده آغازین در 25 تا در پایان اولیه گذر ادغام می‌شود: که بعد به 12، بعد 4 بعد یک اجرا ادغام می‌شوند، که بدین معنی است که چهارگذر لازم می‌باشد. حداقل از 2،‌ عملکرد بدترین مورد الگاریتم را ارائه می‌دهد که بدین قرار است:
اولین جمله، تعداد دسترسی‌های بلوک برای مرحله مرتب سازی را نشان می‌دهد، چون هر بلوک فایل دو برابر دسترسی می‌شود، یکبار برای خواندن در حافظه،‌ یکبار برای نوشتن ثبت‌ها دیسک بعد از مرتب کردن. دومین جمله، تعداد دسترسی‌های بلوک برای مرحله ادغام کردن را نشان می‌دهد، با فرض اینکه بدترین مورد از 2 وجود دارد. بطور کلی، ثبت وقایع در مبنای و عبارت برای تعداد دسترسی‌های بلوک نوین قرار می‌شود:
تصویر 1802- شرح الگاریتم ادغام – مرتب کردن برای مرتب کردن خارجی:
2. 2. 18- اجرا و پیاده‌سازی عملیات SELECT :
تعداد Option‌هایی ( انتخاب‌ها) برای اجرای عملیات SELECT وجود دارد، که بعضی به فایل دارای مسیرهای دستیابی خاص بستگی دارند و تنها برای انواع معین شرایط انتخاب بکار می‌رود. ما به الگاریتم‌هایی جهت اجرای SELECT در این بخش می‌پردازیم. ما از عملیاتهای زیر استفاده می‌کنیم که روی پایگاه اطلاعاتی رابطه‌ای در تصویر 507 مشخص شده و بحث ما را روشن می‌سازد:
متدهای جستجو برای انتخاب ساده:
تعدادی الگاریتم های جستجو برای انتخاب ثبت‌ها از فایل امکان‌پذیر می‌باشند،‌ چون ثبت‌‌های فایل نامیده می شوند، چون ثبت‌‌های فایل را برای جستجو و بازیابی ثبت‌هایی که شرایط انتخاب را برآورده می‌سازند، پویش می‌کنند. اگر الگاریتم جستجو شامل کاربرد شاخص باشد،‌ جستحوی شاخص پویش شاخص نامیده می‌شد. متدهای جستجوی زیر ( 1S تا s6 ) مثالهایی از الگاریتم‌های جستجو هستند که می‌توانند برای اجرای عملیات انتخاب بکار روند:
- s1 : جستجوی خطی (روش برنامه‌سازی پر قدرت): بازیابی هر ثبت در فایل، و تست اینکه آیا مقادیر ویژگی آن،‌ شرط انتخاب را براورده می‌سازد یا خیر.
- S2: جستجوی بنیادی (دودویی):‌ اگر شرط انخاب شامل قیاس تساوی روی ویژگی کلیدی باشد که روی آن فایل مرتب می‌شود، جستجوی بنیادی، که نسبت به جستجوی خطی کارآمدتر است، می‌تواند بکار رود. مثال OP1 است چنانچه ssn ، ‌ویژگی کلیدی با شاخص اولیه‌( یا کلید hash) باشد،‌ برای مثال، SNN-‘123456789’ در opt، شاخص اولیه یا کلید hosh) برای بازیابی ثبت استفاده می‌شود، توجه کنید که این شرط، ثبت تکی را بازیابی می‌کند.
- S4: کاربرد شاخص اولیه برای بازیابی ثبت‌های متعدد: اگر شرط انتخاب شدن قیاس تساوی روی ویژگی غیر کلیدی با شاخص خدشه‌سازی باشد،‌ برای مثال در ، شاخص را برای بازیابی کل ثبت‌ها در برآورده ساختن شرط،‌ استفاده کنید.
- S6: بکارگیری شاخص ثانویه (درخت ) روی قیاس تساوی: این متد جستجو می‌تواند برای بازیابی ثبت تکی بکار رود چنانچه فیلد نمایه‌سازی (شاخص‌سازی) کلید باشد یا برای بازیابی ثبت‌های متعدد بکار می‌رود چنانچه فیلد شاخص‌سازی کلید نباشد،‌ این می‌تواند برای مقایساتی شامل یا بکار رود. در بخش 3. 4. 18، ما به چگونگی توسعه فرمول‌هایی می‌پردازیم که هزینه‌دستیابی این متدهای جستجو را در اصطلاحات تعداد دستیابی‌های بلوک و زمان دستیابی برآورد می‌کند. Method S!برای هر فایلی استفاده می‌شود ولی تمام متدهای دیگر به داشتن مسیر دستیابی مناسب روی ویژگی‌بکار رفته در شرط انتخاب بستگی دارند. متدهای S4 و 6،‌ می‌توانند برای بازیابی ثبت‌ها در دامنه معین بکار روند برای مثال پرس و جوها شامل این شرط‌ها، پرس وجوهای دامنه نیامد به می‌شوند.
متدهای جستجو برای انتخاب پیچیده:
اگر شرط عملیات SELECT، شرط تقارنی و مرتبط باشد، در اینصورت اگر از چندین شرط ساده در ارتباط با ارتباط منطقی and مثل op4 فوق تشکیل شود، ‌DBM می‌تواند از متدهای اضافی زیر برای اجرای عملیات استفاده کند:
S7: انتخاب تقارنی یا ارتباطی با استفاده از شاخص اختصاص:‌ اگر ویژگی شامل شده در هر شرط ساده متکی در شرط تقارنی، مسیر دستیابی داشته باشد که به کاربرد یکی از متدهای S2 تا S6 امکان عمل دهد، از آن شرط برای بازیابی ثبت‌های استفاده کنید و بعد کنترل کنید آیا هر ثبت بازیابی شد، شرایط ساده باقیمانده در شرط تقارنی را برآورده می‌کند یا خیر.
S8 : انتخاب تقارنی (ارتباطی) با استفاده از شاخص مرکب: اگر دو یا چند ویژگی در شرایط تساوی در شرط تفاوتی شامل شدند و شاخص مرکب در فیلدهای مرکب وجود داشته باشد، برای مثال اگر شاخص روی کلید مرکب (ESSN, PNO) در فایل Works ON برای OPS ایجاد شده باشد، می توان از شاخص مستقیماً اشاره کرد.

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

اصطلاح بهینه‌سازی نام بی مسمایی است چون در بعضی موارد،‌ طرح اجرایی انتخاب شده، استراتژی بهینه نمی‌باشد، آن فقط استراتژی کارآمد معقول برای اجرای پرس و جو است. یافتن استراتژی بهینه، ضامن صرف زمان زیادی است، بجز برای ساده‌ترین پرس و جوها،‌ ممکن است به اطلاعاتی روی چگونگی اجرای فایل‌ها در فهرست‌های فایل‌ها، اطلاعاتی که ممکن است کاملاً در کاتالوگ DBMS در دسترس نباشد، نیاز باشد. از اینرو،‌ برنامه‌ریزی استراتژی اجرا ممکن است توصیف درست‌تری نسبت به بهینه‌سازی پرس و جو باشد. برای زبانهای پایگاه اطلاعاتی (دریایی) جهت‌یابی در سطح پایینتر در سیستم‌های قانونی، مثل شبکه DML شبکه‌ای یا MOML سلسله مراتبی،‌ برنامه نویس باید، استراتی اجرای پذیرش و جو را انتخاب کند ضمن اینکه برنامه پایگاه اطلاعاتی را می‌نویسد. اگر DBMS فقط زیان جهت‌یابی را ارائه دهد. فرصت و نیاز محدودی برای بهینه‌سازی پرس وجوی وسیع توسط DBMS وجود دارد، در عوض به برنامه نویس قابلیت انتخاب استراتژی اجرایی بهینه ارائه می‌شود. بعبارت دیگر، زبان پرس و جو در سطح بالا، مثل SQL برای DBMSهای رابطه‌ای یا OQL برای DBMS‌های مقصد،‌ در ماهیت تفریطی‌تر است. چون آنچه نتایج مورد نظر پرس و جو است بغیر از شناسایی جزئیات چگونگی بدست آمدن نتیجه،‌ را تعیین می‌کند. بهینه‌سازی پرس و جو برای پرس و جوهایی ضروی است که در زبان پرس و جوی سطح بالا تعیین می شوند. ما روی توصیف بهینه‌سازی پرس و جو در زمینه ROBMS تمرکز می‌کنیم چون بسیاری از تکنیک‌هایی که توصیف می‌ کنیم برای، برای ODBMSها تطبیق یافته‌اند. DBMS رابطه‌ای باید استراتژیهای اجرای پرس و جوی دیگری را ارزیابی کند و استراتژی بهینه یا کارآمد معقولی را انتخاب کند. هر DBMS ،‌ تعدادی الگاریتم دسترسی به پایگاه اطلاعاتی کلی دارد که علامتهای رابطه‌ای مثل SELECT یا JOIN یا ترکیبی از این عملیات ‌ها را اجرا می‌کند. تنها استراتژیهای اجرایی که می‌توانند توسط الگاریتم‌های دسترسی DBMS اجرا شوند و برای طراحی پایگاه اطلاعاتی فیزیکی ویژه و پرس و جوی خاص بکار روند،‌ می‌توانند توسط قطعه برنامه بهینه‌سازی پرس و جو در نظر گرفته شوند. ما با بحث کلی چگونگی ترجمه پرس و جوهای SQL به پرس و جوهای جبری رابطه‌ای و در بهینه‌شدن آنها کار را شروع می‌کنیم. بعد ما روی الگاریتم‌ها برای اجرای عملیات‌های رابطه‌ای در بخش 1802 بحث می‌کنیم. بدنبال این مطلب، بررسی از استراتژیهای بهینه‌سازی پرس و جو را ارائه می‌دهیم. دو تکنیک اصلی برای اجرای بهینه‌‌سازی پرس و جو وجود دارد. اولین تکنیک بر اساس قوانین ذهنی جهت ترتیب دادن عملیات‌ها در استراتژی اجرای پرس و جو می‌باشد. ذهن قانونی است که بخوبی در اکثر موارد عمل می‌کند ولی برای کار مناسب در هر مورد کنش تضمین نمی‌شود. قوانین عملیات‌ها را در درخت پرس وجو مجدداً ترتیب می‌دهند. دومین تکنیک شامل برآورد هزینه استراتژیهای اجرای متفاوت و انتخاب طرح اجرایی با پایین‌ترین هزینه برآورد است. دو تکنیک معمولاً در بهینه ساز پرس و جو (باهم ترکیب می‌شوند) بهم ملحق می‌گردند. بررسی مختصری از عوامل در نظر گرفته شده در طول بهینه‌سازی پرس و جو در RDBMS بازرگانی ORACLL= را ارائه می‌دهیم. در بخش بعدی نوعی بهینه‌سازی پرس و جوی معنایی را ارائه می‌دهد که در آن محدودیت‌های شناخته شده برای پرداختن به استراتژیهای اجرایی پرس و جوی کارآمد استفاده می‌شوند. 2 – ترجمه پرس و جوهای SQL به پرس و جوهای رابطه‌ای: در عمل، SQL زبان پرس وجویی است که در اکثر RDBMS ‌های بازرگانی استفاده می‌شود. پرس وجوی SQL ، ابتدا به عبارت جبری رابطه‌ای توسعه یافته معادل،‌ نمایانگر ساختار داروهای درخت پرس و جو، ترجمه می‌شود و بعد بهینه‌سازی می‌شود. پرس و جوهای SQL به بلوکهای پرس و جو تجزیه می‌شوند،‌ که واحدهای اساسی را تشکیل می‌دهند که می‌توانند به عملکردهای جبری ترجمه شوند و بهینه‌سازی شوند. بلوک پرس و جو شامل عبارت SELECT- FROM-WHERE تکی و بندهای Groop By و HAVING است چنانچه این‌ها بخشی از بلوک باشند. از اینرو،‌ پرس و جوهای تو در تو در پرس و جو بعنوان بلوکهای پرس و جوی مجزا شناسایی می‌شوند. چون SQL شامل عملکردهای گروهی، مثل MAX ،‌ COUNT,SUM می‌باشد، این عملگرها باید در پرس و جوی جبری توسعه یافته‌ای شامل شوند، همانطوریکه در بخش 705 توصیف شد. پرس و جوی SQL در رابطه EMPLOEE در تصویر 705 را در نظر بگیرید: این پرس و جو شامل، پرس و جوی فرعی تو در تو است و از اینرو به دو بلوک تجزیه می‌شود. بلوک درونی بدین صورت است: و بلوک بیرونی بدین صورت می باشد: که C نمایانگر نتیجه حاصله از بلوک درونی است. بلوک درونی به عبارت جبری رابطه‌ای توسعه یافته زیر ترجمه شده است: و بلوک بیرونی به عبارت زیر ترجمه شده است: بهینه‌ساز پرس و جو، طرح اجرایی را برای هر بلوک انتخاب می‌کند. ما باید اشاره کنیم به در مثال فوق، بلوک درونی نیاز به ارزیابی شدن دارد تنها زمانی که، حداکثرحقوقی که بعکار می‌رود که بعنوان ثابت C، توسط بلوک بیرونی استفاده می‌شود. ما اینرو پرس و جوی تودرتوی غیرمرتبط نامیدیم (در فصل 8). آن برای بهینه‌سازی پرس و جوهای تو در توی مرتبط پیچیده‌تر، خیلی سخت‌تر است، جایی که متغیر Tuple از بلوک بیرونی در بند WHERE در بلوک درونی ظاهر می‌شود. 1802- الگاریتم های انسانی برای اجرای عملیاتهای پرس و جو: RDBMS شامل الگاریتم‌هایی برای اجرای انواع مختلف عملیاتهای رابطه‌‌ای است که می‌توانند در استراتژی اجرای پرس و جو نمایان شوند، این عملیات‌ها شامل عملیاتهای جبری بیسیک (اصلی) و توسعه یافته مورد بحث در فصل 7 ، و در بسیاری موارد، الحاقاتی از این عملیات‌ها می‌باشد. برای هر یک از این عملیات ها یا الحاقی از عملیات‌ها، یک یا چند الگاریتم برای اجرای عملیات‌ها در دسترس قرار دارند. الگاریتم ممکن است فقط برای ساختارهای ذخیره خاص مسیرهای دستیابی بکار روند، در اینصورت ،‌ تنها در صورتی استفاده می‌شود که فایل های موجود در عملیات شامل این مسیرهای دستیابی هستند. در این بخش، ما به الگاریتم‌های نمونه بکار رفته برای اجرای SEKECT ، JOIN و دیگر عملیاتهای رابطه‌ای می‌پردازیم. ما بحث مرتب کردن خارجی را در بخش 180201 آغاز می‌کنیم که در قلب عملیاتهای رابطه‌ای قرار دارد که از استراتژیهای ادغام کردن به مرتب کردن استفاده می‌کند. بعد ما به الگاریتم‌هایی برای اجرای عملیات SELECT در بخش 180202 می‌پردازیم،‌ به عملیات ‌JOIN در بخش 180203 و عملیات PRIJECT و عملیاتهای مجموعه در بخش IE 1802 و عملیات‌های گروهی و جمعی در بخش 2 .2 . 18 می‌پردازیم. 1. 2. 18- مرتب کردن خارجی: مرتب کردن، یکی از الگاریتم‌های اولیه بکار رفته در پردازش پرس و جو است. برای مثال، ‌به هر وقت پرس و جوی SQL ، بعد ORDER BY را تعیین می‌کند، نتیجه پرس و جو باید مرتب گردد. مرتب کردن، مؤلفه کلیدی در الگاریتم‌های مرتب کردن- ادغام کردن (مرتب-ادغام) بکار رفته برای Join و عملیاتهای دیگر، دور الگاریتم‌های حذف کپی برای عملیات PROYECT است. ما روی بعضی از این الگاریتم‌ها در بخش‌ 3. 2. 18 و 4. 02 18 بحث خواهیم کرد. توجه کنید که مرتب کردن در صورتی که اجتناب می‌شود که شاخص مناسب برای امکان دسترسی مرتب شده به ثبت‌ها وجود دارد. مرتب کردن خارجی به الگاریتم‌های مرتب کردن اشاره می‌کند که برای فایل های بزرگ ثبت ‌های ذخیره شده روی دیسک مناسب هستند که در حافظه اصلی، مثل اکثر فایل های پایگاه اطلاعاتی تناسب نمی‌‌یابد. الگاریتم‌ مرتب کردن خارجی نمونه از استراتژی مرتب- ادغام استفاده می‌کند، که با مرتب کردن- فایل‌های فرعی کوچک بنام اجراها در فایل اصلی شروع می‌شود و بعد اجراها مرتب شده ادغام می‌شوند،‌‍ فایل‌های فرعی مرتب شده بزرگتری ایجاد می‌شوند که بترتیب ادغام می‌شوند. الگاریتم ادغام –مرتب،‌ مثل دیگر الگاریتم های پایگاه اطلاعاتی به فاضی بافر در حافظه اصلی نیاز دارد،‌ جایی که مرتب کردن واقعی و ادغام اجراها انجام می‌ شود. الگاریتم اصلی (سیبک) شرح داده شده در تصویر 1802 ، شامل دو مرحله است: (1) فاز یا مرحله مرتب کردن و (2) مرحله ادغام.در مرحله مرتب کردن، اجراهای فایلی که می‌تواند در فضای باز موجود تناسب یابد در حافظه اصلی خوانده می‌شوند و با استفاده از الگاریتم مرتب کردن داخلی مرتب می‌شود عقب دیسک بعنوان فایل‌های فرعی مرتب شده متوفی نوشته می‌شود. اندازه اجرا و تعداد اجراهای آغازین توسط تعداد بلوکهای فایل (b) و فضای بافر موجود (NB) بیان می‌شود. برای مثال اگر بلوکو اندازه قایل 1024=b بلوک باشد،‌ بعد یا 205 اجرای آغازین در هر اندازه 5 بلوک است. از اینرو، بعد از مرحله مرتب کردن، 205 اجرای مرتب شده بعنوان فایل‌های فرعی موقتی روی دیسک ذخیره می‌شوند. اجرای مرتب شده بعنوان فایل‌های فرعی موقتی و روی دیسک ذخیره می‌شوند. در مرحله ادغام شدن، اجراهای مرتب شده،‌ در طول یک یا چند گذر ادغام می‌‌شوند. درجه ادغام شدن تعداد اجراهایی است که می‌توانند با همدیگر در هر گذر ادغام شوند. در هر گذر، یک بلوک بافر، برای حفظ یک بلوک از هر اجرای ادغام شده نیاز می‌باشد، و یک بلوک برای تشکیل یک بلوک نتیجه ادغام لازم است . از اینرو،‌ کوچکتر از و است و تعداد گذرها، است. در مثالها، است. لذا،‌ 205 اجرای مرتب شده آغازین در 25 تا در پایان اولیه گذر ادغام می‌شود: که بعد به 12، بعد 4 بعد یک اجرا ادغام می‌شوند، که بدین معنی است که چهارگذر لازم می‌باشد. حداقل از 2،‌ عملکرد بدترین مورد الگاریتم را ارائه می‌دهد که بدین قرار است: اولین جمله، تعداد دسترسی‌های بلوک برای مرحله مرتب سازی را نشان می‌دهد، چون هر بلوک فایل دو برابر دسترسی می‌شود، یکبار برای خواندن در حافظه،‌ یکبار برای نوشتن ثبت‌ها دیسک بعد از مرتب کردن. دومین جمله، تعداد دسترسی‌های بلوک برای مرحله ادغام کردن را نشان می‌دهد، با فرض اینکه بدترین مورد از 2 وجود دارد. بطور کلی، ثبت وقایع در مبنای و عبارت برای تعداد دسترسی‌های بلوک نوین قرار می‌شود: تصویر 1802- شرح الگاریتم ادغام – مرتب کردن برای مرتب کردن خارجی: 2. 2. 18- اجرا و پیاده‌سازی عملیات SELECT : تعداد Option‌هایی ( انتخاب‌ها) برای اجرای عملیات SELECT وجود دارد، که بعضی به فایل دارای مسیرهای دستیابی خاص بستگی دارند و تنها برای انواع معین شرایط انتخاب بکار می‌رود. ما به الگاریتم‌هایی جهت اجرای SELECT در این بخش می‌پردازیم. ما از عملیاتهای زیر استفاده می‌کنیم که روی پایگاه اطلاعاتی رابطه‌ای در تصویر 507 مشخص شده و بحث ما را روشن می‌سازد: متدهای جستجو برای انتخاب ساده: تعدادی الگاریتم های جستجو برای انتخاب ثبت‌ها از فایل امکان‌پذیر می‌باشند،‌ چون ثبت‌‌های فایل نامیده می شوند، چون ثبت‌‌های فایل را برای جستجو و بازیابی ثبت‌هایی که شرایط انتخاب را برآورده می‌سازند، پویش می‌کنند. اگر الگاریتم جستجو شامل کاربرد شاخص باشد،‌ جستحوی شاخص پویش شاخص نامیده می‌شد. متدهای جستجوی زیر ( 1S تا s6 ) مثالهایی از الگاریتم‌های جستجو هستند که می‌توانند برای اجرای عملیات انتخاب بکار روند: - s1 : جستجوی خطی (روش برنامه‌سازی پر قدرت): بازیابی هر ثبت در فایل، و تست اینکه آیا مقادیر ویژگی آن،‌ شرط انتخاب را براورده می‌سازد یا خیر. - S2: جستجوی بنیادی (دودویی):‌ اگر شرط انخاب شامل قیاس تساوی روی ویژگی کلیدی باشد که روی آن فایل مرتب می‌شود، جستجوی بنیادی، که نسبت به جستجوی خطی کارآمدتر است، می‌تواند بکار رود. مثال OP1 است چنانچه ssn ، ‌ویژگی کلیدی با شاخص اولیه‌( یا کلید hash) باشد،‌ برای مثال، SNN-‘123456789’ در opt، شاخص اولیه یا کلید hosh) برای بازیابی ثبت استفاده می‌شود، توجه کنید که این شرط، ثبت تکی را بازیابی می‌کند. - S4: کاربرد شاخص اولیه برای بازیابی ثبت‌های متعدد: اگر شرط انتخاب شدن قیاس تساوی روی ویژگی غیر کلیدی با شاخص خدشه‌سازی باشد،‌ برای مثال در ، شاخص را برای بازیابی کل ثبت‌ها در برآورده ساختن شرط،‌ استفاده کنید. - S6: بکارگیری شاخص ثانویه (درخت ) روی قیاس تساوی: این متد جستجو می‌تواند برای بازیابی ثبت تکی بکار رود چنانچه فیلد نمایه‌سازی (شاخص‌سازی) کلید باشد یا برای بازیابی ثبت‌های متعدد بکار می‌رود چنانچه فیلد شاخص‌سازی کلید نباشد،‌ این می‌تواند برای مقایساتی شامل یا بکار رود. در بخش 3. 4. 18، ما به چگونگی توسعه فرمول‌هایی می‌پردازیم که هزینه‌دستیابی این متدهای جستجو را در اصطلاحات تعداد دستیابی‌های بلوک و زمان دستیابی برآورد می‌کند. Method S!برای هر فایلی استفاده می‌شود ولی تمام متدهای دیگر به داشتن مسیر دستیابی مناسب روی ویژگی‌بکار رفته در شرط انتخاب بستگی دارند. متدهای S4 و 6،‌ می‌توانند برای بازیابی ثبت‌ها در دامنه معین بکار روند برای مثال پرس و جوها شامل این شرط‌ها، پرس وجوهای دامنه نیامد به می‌شوند.متدهای جستجو برای انتخاب پیچیده: اگر شرط عملیات SELECT، شرط تقارنی و مرتبط باشد، در اینصورت اگر از چندین شرط ساده در ارتباط با ارتباط منطقی and مثل op4 فوق تشکیل شود، ‌DBM می‌تواند از متدهای اضافی زیر برای اجرای عملیات استفاده کند: S7: انتخاب تقارنی یا ارتباطی با استفاده از شاخص اختصاص:‌ اگر ویژگی شامل شده در هر شرط ساده متکی در شرط تقارنی، مسیر دستیابی داشته باشد که به کاربرد یکی از متدهای S2 تا S6 امکان عمل دهد، از آن شرط برای بازیابی ثبت‌های استفاده کنید و بعد کنترل کنید آیا هر ثبت بازیابی شد، شرایط ساده باقیمانده در شرط تقارنی را برآورده می‌کند یا خیر. S8 : انتخاب تقارنی (ارتباطی) با استفاده از شاخص مرکب: اگر دو یا چند ویژگی در شرایط تساوی در شرط تفاوتی شامل شدند و شاخص مرکب در فیلدهای مرکب وجود داشته باشد، برای مثال اگر شاخص روی کلید مرکب (ESSN, PNO) در فایل Works ON برای OPS ایجاد شده باشد، می توان از شاخص مستقیماً اشاره کرد.

در این تحقیق ما به تکنیک‌های بکار رفته توسط DMBS برای پردازش، بهینه‌سازی و اجرای پرس و جوهای سطح بالا می‌پردازیم. پرس و جوی بیان شده در زبان پرس‌و جوی سطح بالا مثل SQL ابتدا باید پویش و تجزیه . معتبر شود. پویشگر (اسکنر) علامت هر زبان، مثل لغات کلیدی SQL، اساس ویژگی، و اساس رابطه، را در متن پرس و جو شناسایی می‌کند،‌ در عوض تجربه کننده، ساختار دستوری پرس و جو را برای تعیین اینکه آیا بر طبق قوانین دستوری زبان پرس و جو تدوین می‌شود یا خیر، چک می‌کند. پرس و جو باید همچنین معتبر شود، با چک کردن اینکه تمام اسامی رابطه و ویژگی معتبر هستند و اسامی معنی‌دار در طرح پایگاه اطلاعاتی ویژها‌ی پرس و جو می‌شوند. نمونه داخلی پرس و جو ایجاد می‌شود،‌‌ که تحت عنوان ساختار داده‌های درختی بنام درخت پرس و جو می‌باشد. ارائه پرس و جو با استفاده از ساختار داده‌های گراف بنام گراف پرس و جو نیز امکان پذیر است. DOMS باید استراتژی اجرایی برای بازیابی نتیجه پرس و جو از فایل‌های پایگاه اطلاعاتی را هدایت کند. پرس و جو استراتژیهای اجرایی بسیاری دارد. و مرحلة انتخاب،‌ مورد مناسبی برای پردازش پرس وجو تحت عنوان بهینه‌سازی پرس و جو شناخته شده است. تصویر 1، مراحل مختلف پردازش پرس و جوی سطح بالا را نشان می‌دهد. قطعه بر نامه بهینه‌ساز پرس وجو، وظیفه ایجاد طرح اجرایی را بعهده دارد و ژنراتور (تولید کننده) که ، کد را برای اجرای آن طرح ایجاد می‌کند. پردازنده پایگاه اطلاعاتی زمان اجرا وظیفه اجرای که پرس و جو را بعهده دارد،‌ خواه در وضعیت کامپایل شده یا تفسیر شده جهت ایجاد نتیجه پرس و جو. اگر خطای زمان اجرا نتیجه شود،‌ پیام خطا توسط پایگاه اطلاعاتی زمان اجرا ایجاد می‌شود. اصطلاح بهینه‌سازی نام بی مسمایی است چون در بعضی موارد،‌ طرح اجرایی انتخاب شده، استراتژی بهینه نمی‌باشد، آن فقط استراتژی کارآمد معقول برای اجرای پرس و جو است. یافتن استراتژی بهینه، ضامن صرف زمان زیادی است، بجز برای ساده‌ترین پرس و جوها،‌ ممکن است به اطلاعاتی روی چگونگی اجرای فایل‌ها در فهرست‌های فایل‌ها، اطلاعاتی که ممکن است کاملاً در کاتالوگ DBMS در دسترس نباشد، نیاز باشد. از اینرو،‌ برنامه‌ریزی استراتژی اجرا ممکن است توصیف درست‌تری نسبت به بهینه‌سازی پرس و جو باشد. برای زبانهای پایگاه اطلاعاتی (دریایی) جهت‌یابی در سطح پایینتر در سیستم‌های قانونی، مثل شبکه DML شبکه‌ای یا MOML سلسله مراتبی،‌ برنامه نویس باید، استراتی اجرای پذیرش و جو را انتخاب کند ضمن اینکه برنامه پایگاه اطلاعاتی را می‌نویسد. اگر DBMS فقط زیان جهت‌یابی را ارائه دهد. فرصت و نیاز محدودی برای بهینه‌سازی پرس وجوی وسیع توسط DBMS وجود دارد، در عوض به برنامه نویس قابلیت انتخاب استراتژی اجرایی بهینه ارائه می‌شود. بعبارت دیگر، زبان پرس و جو در سطح بالا، مثل SQL برای DBMSهای رابطه‌ای یا OQL برای DBMS‌های مقصد،‌ در ماهیت تفریطی‌تر است. چون آنچه نتایج مورد نظر پرس و جو است بغیر از شناسایی جزئیات چگونگی بدست آمدن نتیجه،‌ را تعیین می‌کند. بهینه‌سازی پرس و جو برای پرس و جوهایی ضروی است که در زبان پرس و جوی سطح بالا تعیین می شوند. ما روی توصیف بهینه‌سازی پرس و جو در زمینه ROBMS تمرکز می‌کنیم چون بسیاری از تکنیک‌هایی که توصیف می‌ کنیم برای، برای ODBMSها تطبیق یافته‌اند. DBMS رابطه‌ای باید استراتژیهای اجرای پرس و جوی دیگری را ارزیابی کند و استراتژی بهینه یا کارآمد معقولی را انتخاب کند. هر DBMS ،‌ تعدادی الگاریتم دسترسی به پایگاه اطلاعاتی کلی دارد که علامتهای رابطه‌ای مثل SELECT یا JOIN یا ترکیبی از این عملیات ‌ها را اجرا می‌کند. تنها استراتژیهای اجرایی که می‌توانند توسط الگاریتم‌های دسترسی DBMS اجرا شوند و برای طراحی پایگاه اطلاعاتی فیزیکی ویژه و پرس و جوی خاص بکار روند،‌ می‌توانند توسط قطعه برنامه بهینه‌سازی پرس و جو در نظر گرفته شوند. ما با بحث کلی چگونگی ترجمه پرس و جوهای SQL به پرس و جوهای جبری رابطه‌ای و در بهینه‌شدن آنها کار را شروع می‌کنیم. بعد ما روی الگاریتم‌ها برای اجرای عملیات‌های رابطه‌ای در بخش 1802 بحث می‌کنیم. بدنبال این مطلب، بررسی از استراتژیهای بهینه‌سازی پرس و جو را ارائه می‌دهیم. دو تکنیک اصلی برای اجرای بهینه‌‌سازی پرس و جو وجود دارد. اولین تکنیک بر اساس قوانین ذهنی جهت ترتیب دادن عملیات‌ها در استراتژی اجرای پرس و جو می‌باشد. ذهن قانونی است که بخوبی در اکثر موارد عمل می‌کند ولی برای کار مناسب در هر مورد کنش تضمین نمی‌شود. قوانین عملیات‌ها را در درخت پرس وجو مجدداً ترتیب می‌دهند. دومین تکنیک شامل برآورد هزینه استراتژیهای اجرای متفاوت و انتخاب طرح اجرایی با پایین‌ترین هزینه برآورد است. دو تکنیک معمولاً در بهینه ساز پرس و جو (باهم ترکیب می‌شوند) بهم ملحق می‌گردند. بررسی مختصری از عوامل در نظر گرفته شده در طول بهینه‌سازی پرس و جو در RDBMS بازرگانی ORACLL= را ارائه می‌دهیم. در بخش بعدی نوعی بهینه‌سازی پرس و جوی معنایی را ارائه می‌دهد که در آن محدودیت‌های شناخته شده برای پرداختن به استراتژیهای اجرایی پرس و جوی کارآمد استفاده می‌شوند. 2 – ترجمه پرس و جوهای SQL به پرس و جوهای رابطه‌ای: در عمل، SQL زبان پرس وجویی است که در اکثر RDBMS ‌های بازرگانی استفاده می‌شود. پرس وجوی SQL ، ابتدا به عبارت جبری رابطه‌ای توسعه یافته معادل،‌ نمایانگر ساختار داروهای درخت پرس و جو، ترجمه می‌شود و بعد بهینه‌سازی می‌شود. پرس و جوهای SQL به بلوکهای پرس و جو تجزیه می‌شوند،‌ که واحدهای اساسی را تشکیل می‌دهند که می‌توانند به عملکردهای جبری ترجمه شوند و بهینه‌سازی شوند. بلوک پرس و جو شامل عبارت SELECT- FROM-WHERE تکی و بندهای Groop By و HAVING است چنانچه این‌ها بخشی از بلوک باشند. از اینرو،‌ پرس و جوهای تو در تو در پرس و جو بعنوان بلوکهای پرس و جوی مجزا شناسایی می‌شوند. چون SQL شامل عملکردهای گروهی، مثل MAX ،‌ COUNT,SUM می‌باشد، این عملگرها باید در پرس و جوی جبری توسعه یافته‌ای شامل شوند، همانطوریکه در بخش 705 توصیف شد. پرس و جوی SQL در رابطه EMPLOEE در تصویر 705 را در نظر بگیرید: این پرس و جو شامل، پرس و جوی فرعی تو در تو است و از اینرو به دو بلوک تجزیه می‌شود. بلوک درونی بدین صورت است: و بلوک بیرونی بدین صورت می باشد: که C نمایانگر نتیجه حاصله از بلوک درونی است. بلوک درونی به عبارت جبری رابطه‌ای توسعه یافته زیر ترجمه شده است: و بلوک بیرونی به عبارت زیر ترجمه شده است: بهینه‌ساز پرس و جو، طرح اجرایی را برای هر بلوک انتخاب می‌کند. ما باید اشاره کنیم به در مثال فوق، بلوک درونی نیاز به ارزیابی شدن دارد تنها زمانی که، حداکثرحقوقی که بعکار می‌رود که بعنوان ثابت C، توسط بلوک بیرونی استفاده می‌شود. ما اینرو پرس و جوی تودرتوی غیرمرتبط نامیدیم (در فصل 8). آن برای بهینه‌سازی پرس و جوهای تو در توی مرتبط پیچیده‌تر، خیلی سخت‌تر است، جایی که متغیر Tuple از بلوک بیرونی در بند WHERE در بلوک درونی ظاهر می‌شود. 1802- الگاریتم های انسانی برای اجرای عملیاتهای پرس و جو: RDBMS شامل الگاریتم‌هایی برای اجرای انواع مختلف عملیاتهای رابطه‌‌ای است که می‌توانند در استراتژی اجرای پرس و جو نمایان شوند، این عملیات‌ها شامل عملیاتهای جبری بیسیک (اصلی) و توسعه یافته مورد بحث در فصل 7 ، و در بسیاری موارد، الحاقاتی از این عملیات‌ها می‌باشد. برای هر یک از این عملیات ها یا الحاقی از عملیات‌ها، یک یا چند الگاریتم برای اجرای عملیات‌ها در دسترس قرار دارند. الگاریتم ممکن است فقط برای ساختارهای ذخیره خاص مسیرهای دستیابی بکار روند، در اینصورت ،‌ تنها در صورتی استفاده می‌شود که فایل های موجود در عملیات شامل این مسیرهای دستیابی هستند. در این بخش، ما به الگاریتم‌های نمونه بکار رفته برای اجرای SEKECT ، JOIN و دیگر عملیاتهای رابطه‌ای می‌پردازیم. ما بحث مرتب کردن خارجی را در بخش 180201 آغاز می‌کنیم که در قلب عملیاتهای رابطه‌ای قرار دارد که از استراتژیهای ادغام کردن به مرتب کردن استفاده می‌کند. بعد ما به الگاریتم‌هایی برای اجرای عملیات SELECT در بخش 180202 می‌پردازیم،‌ به عملیات ‌JOIN در بخش 180203 و عملیات PRIJECT و عملیاتهای مجموعه در بخش IE 1802 و عملیات‌های گروهی و جمعی در بخش 2 .2 . 18 می‌پردازیم. 1. 2. 18- مرتب کردن خارجی: مرتب کردن، یکی از الگاریتم‌های اولیه بکار رفته در پردازش پرس و جو است. برای مثال، ‌به هر وقت پرس و جوی SQL ، بعد ORDER BY را تعیین می‌کند، نتیجه پرس و جو باید مرتب گردد. مرتب کردن، مؤلفه کلیدی در الگاریتم‌های مرتب کردن- ادغام کردن (مرتب-ادغام) بکار رفته برای Join و عملیاتهای دیگر، دور الگاریتم‌های حذف کپی برای عملیات PROYECT است. ما روی بعضی از این الگاریتم‌ها در بخش‌ 3. 2. 18 و 4. 02 18 بحث خواهیم کرد. توجه کنید که مرتب کردن در صورتی که اجتناب می‌شود که شاخص مناسب برای امکان دسترسی مرتب شده به ثبت‌ها وجود دارد. مرتب کردن خارجی به الگاریتم‌های مرتب کردن اشاره می‌کند که برای فایل های بزرگ ثبت ‌های ذخیره شده روی دیسک مناسب هستند که در حافظه اصلی، مثل اکثر فایل های پایگاه اطلاعاتی تناسب نمی‌‌یابد. الگاریتم‌ مرتب کردن خارجی نمونه از استراتژی مرتب- ادغام استفاده می‌کند، که با مرتب کردن- فایل‌های فرعی کوچک بنام اجراها در فایل اصلی شروع می‌شود و بعد اجراها مرتب شده ادغام می‌شوند،‌‍ فایل‌های فرعی مرتب شده بزرگتری ایجاد می‌شوند که بترتیب ادغام می‌شوند. الگاریتم ادغام –مرتب،‌ مثل دیگر الگاریتم های پایگاه اطلاعاتی به فاضی بافر در حافظه اصلی نیاز دارد،‌ جایی که مرتب کردن واقعی و ادغام اجراها انجام می‌ شود. الگاریتم اصلی (سیبک) شرح داده شده در تصویر 1802 ، شامل دو مرحله است: (1) فاز یا مرحله مرتب کردن و (2) مرحله ادغام.در مرحله مرتب کردن، اجراهای فایلی که می‌تواند در فضای باز موجود تناسب یابد در حافظه اصلی خوانده می‌شوند و با استفاده از الگاریتم مرتب کردن داخلی مرتب می‌شود عقب دیسک بعنوان فایل‌های فرعی مرتب شده متوفی نوشته می‌شود. اندازه اجرا و تعداد اجراهای آغازین توسط تعداد بلوکهای فایل (b) و فضای بافر موجود (NB) بیان می‌شود. برای مثال اگر بلوکو اندازه قایل 1024=b بلوک باشد،‌ بعد یا 205 اجرای آغازین در هر اندازه 5 بلوک است. از اینرو، بعد از مرحله مرتب کردن، 205 اجرای مرتب شده بعنوان فایل‌های فرعی موقتی روی دیسک ذخیره می‌شوند. اجرای مرتب شده بعنوان فایل‌های فرعی موقتی و روی دیسک ذخیره می‌شوند. در مرحله ادغام شدن، اجراهای مرتب شده،‌ در طول یک یا چند گذر ادغام می‌‌شوند. درجه ادغام شدن تعداد اجراهایی است که می‌توانند با همدیگر در هر گذر ادغام شوند. در هر گذر، یک بلوک بافر، برای حفظ یک بلوک از هر اجرای ادغام شده نیاز می‌باشد، و یک بلوک برای تشکیل یک بلوک نتیجه ادغام لازم است . از اینرو،‌ کوچکتر از و است و تعداد گذرها، است. در مثالها، است. لذا،‌ 205 اجرای مرتب شده آغازین در 25 تا در پایان اولیه گذر ادغام می‌شود: که بعد به 12، بعد 4 بعد یک اجرا ادغام می‌شوند، که بدین معنی است که چهارگذر لازم می‌باشد. حداقل از 2،‌ عملکرد بدترین مورد الگاریتم را ارائه می‌دهد که بدین قرار است: اولین جمله، تعداد دسترسی‌های بلوک برای مرحله مرتب سازی را نشان می‌دهد، چون هر بلوک فایل دو برابر دسترسی می‌شود، یکبار برای خواندن در حافظه،‌ یکبار برای نوشتن ثبت‌ها دیسک بعد از مرتب کردن. دومین جمله، تعداد دسترسی‌های بلوک برای مرحله ادغام کردن را نشان می‌دهد، با فرض اینکه بدترین مورد از 2 وجود دارد. بطور کلی، ثبت وقایع در مبنای و عبارت برای تعداد دسترسی‌های بلوک نوین قرار می‌شود: تصویر 1802- شرح الگاریتم ادغام – مرتب کردن برای مرتب کردن خارجی: 2. 2. 18- اجرا و پیاده‌سازی عملیات SELECT : تعداد Option‌هایی ( انتخاب‌ها) برای اجرای عملیات SELECT وجود دارد، که بعضی به فایل دارای مسیرهای دستیابی خاص بستگی دارند و تنها برای انواع معین شرایط انتخاب بکار می‌رود. ما به الگاریتم‌هایی جهت اجرای SELECT در این بخش می‌پردازیم. ما از عملیاتهای زیر استفاده می‌کنیم که روی پایگاه اطلاعاتی رابطه‌ای در تصویر 507 مشخص شده و بحث ما را روشن می‌سازد: متدهای جستجو برای انتخاب ساده: تعدادی الگاریتم های جستجو برای انتخاب ثبت‌ها از فایل امکان‌پذیر می‌باشند،‌ چون ثبت‌‌های فایل نامیده می شوند، چون ثبت‌‌های فایل را برای جستجو و بازیابی ثبت‌هایی که شرایط انتخاب را برآورده می‌سازند، پویش می‌کنند. اگر الگاریتم جستجو شامل کاربرد شاخص باشد،‌ جستحوی شاخص پویش شاخص نامیده می‌شد. متدهای جستجوی زیر ( 1S تا s6 ) مثالهایی از الگاریتم‌های جستجو هستند که می‌توانند برای اجرای عملیات انتخاب بکار روند: - s1 : جستجوی خطی (روش برنامه‌سازی پر قدرت): بازیابی هر ثبت در فایل، و تست اینکه آیا مقادیر ویژگی آن،‌ شرط انتخاب را براورده می‌سازد یا خیر. - S2: جستجوی بنیادی (دودویی):‌ اگر شرط انخاب شامل قیاس تساوی روی ویژگی کلیدی باشد که روی آن فایل مرتب می‌شود، جستجوی بنیادی، که نسبت به جستجوی خطی کارآمدتر است، می‌تواند بکار رود. مثال OP1 است چنانچه ssn ، ‌ویژگی کلیدی با شاخص اولیه‌( یا کلید hash) باشد،‌ برای مثال، SNN-‘123456789’ در opt، شاخص اولیه یا کلید hosh) برای بازیابی ثبت استفاده می‌شود، توجه کنید که این شرط، ثبت تکی را بازیابی می‌کند. - S4: کاربرد شاخص اولیه برای بازیابی ثبت‌های متعدد: اگر شرط انتخاب شدن قیاس تساوی روی ویژگی غیر کلیدی با شاخص خدشه‌سازی باشد،‌ برای مثال در ، شاخص را برای بازیابی کل ثبت‌ها در برآورده ساختن شرط،‌ استفاده کنید. - S6: بکارگیری شاخص ثانویه (درخت ) روی قیاس تساوی: این متد جستجو می‌تواند برای بازیابی ثبت تکی بکار رود چنانچه فیلد نمایه‌سازی (شاخص‌سازی) کلید باشد یا برای بازیابی ثبت‌های متعدد بکار می‌رود چنانچه فیلد شاخص‌سازی کلید نباشد،‌ این می‌تواند برای مقایساتی شامل یا بکار رود. در بخش 3. 4. 18، ما به چگونگی توسعه فرمول‌هایی می‌پردازیم که هزینه‌دستیابی این متدهای جستجو را در اصطلاحات تعداد دستیابی‌های بلوک و زمان دستیابی برآورد می‌کند. Method S!برای هر فایلی استفاده می‌شود ولی تمام متدهای دیگر به داشتن مسیر دستیابی مناسب روی ویژگی‌بکار رفته در شرط انتخاب بستگی دارند. متدهای S4 و 6،‌ می‌توانند برای بازیابی ثبت‌ها در دامنه معین بکار روند برای مثال پرس و جوها شامل این شرط‌ها، پرس وجوهای دامنه نیامد به می‌شوند.متدهای جستجو برای انتخاب پیچیده: اگر شرط عملیات SELECT، شرط تقارنی و مرتبط باشد، در اینصورت اگر از چندین شرط ساده در ارتباط با ارتباط منطقی and مثل op4 فوق تشکیل شود، ‌DBM می‌تواند از متدهای اضافی زیر برای اجرای عملیات استفاده کند: S7: انتخاب تقارنی یا ارتباطی با استفاده از شاخص اختصاص:‌ اگر ویژگی شامل شده در هر شرط ساده متکی در شرط تقارنی، مسیر دستیابی داشته باشد که به کاربرد یکی از متدهای S2 تا S6 امکان عمل دهد، از آن شرط برای بازیابی ثبت‌های استفاده کنید و بعد کنترل کنید آیا هر ثبت بازیابی شد، شرایط ساده باقیمانده در شرط تقارنی را برآورده می‌کند یا خیر. S8 : انتخاب تقارنی (ارتباطی) با استفاده از شاخص مرکب: اگر دو یا چند ویژگی در شرایط تساوی در شرط تفاوتی شامل شدند و شاخص مرکب در فیلدهای مرکب وجود داشته باشد، برای مثال اگر شاخص روی کلید مرکب (ESSN, PNO) در فایل Works ON برای OPS ایجاد شده باشد، می توان از شاخص مستقیماً اشاره کرد.


حافظه RAM

قبل از اینکه Cpu بتواند برنامه‌ها را اجرا کند، دستورات و اطلاعات آن برنامه باید داخل حافظة Ram کامپیوتر منتقل و مستقر شوند
دسته بندی کامپیوتر و IT
بازدید ها 30
فرمت فایل doc
حجم فایل 25 کیلو بایت
تعداد صفحات فایل 20
حافظه RAM

فروشنده فایل

کد کاربری 1024
کاربر

حافظه RAM

آنچه در این فصل می آموزید:

/ کنترل میزان مصرف حافظه در سیستم

/ اجرای برنامه های ارزیابی و سنجش حافظه

/نمایش اطلاعات حافظة ویندوز به کمک برنامة Sandra

/ آماده شدن برای ارتقا حافظة سیستم

/ عیب یابی نصب حافظه در سیستم

/ حذف کاربرد حافظة بسط یافته و حافظة توسعه یافته در محیط ویندوز

/ کنترل مقدار فیزیکی مصرف RAM در محیط ویندوز

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

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

درک مفهوم لایه‌های ذخیره‌سازی

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

فن‌آوریهای گوناگون برای ذخیره‌سازی اطلعات ابداع شده‌اند که اغلب آنها را بر اساس سرعت، هزینه و ظرفیت ذخیره سازی طبقه‌بندی می‌کنند. معمولاً دیسک‌ها وسایل مکانیکی هستند و به همین دلیل سرعت عملیات آنها نسبت به انواع حافظه‌های الکترونیکی بسیار کندتر است. در شکل زیر نمایی از اواع وسایل ذخیره‌سازی و در سمت راست کندترین وسیلة ذخیره‌سازی را نشان داده‌ایم.


جریان اطلاعات از حافظة RAM به پردازنده (‌CPU)

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

کنترل کنندة حافظه از آدرس رسیده استفاده می‌کند و اطلاعات یا دستور مورد نیاز Cpu را پیدا می‌کند. پس از اینکه کنترل کنندة حافظه این اطلاعات را پیدا می کند آن را از طریق گذرگاه سیستم به Cpu ارسال می‌کند.

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

سازماندهی حافظة RAM توسط کامپیوترهای شخصی

در حافظة Ram اطلاعات ( Data ) و دستوراتی ( Instructions ) ذخیره می شوند که Cpu برای اجرای عملیات به آنها نیاز دارد. می دانید که هر برنامه شامل دستوراتی است که به زبان صفر و یک ها نوشته شده ( یا ترجمه شده) اند. بنابراین در حافظة Ram نیز اطلاعات به شکل صصفرها و یک ها ذخیره می شوند. می توانید حافظة Ram را به شکل چند ردیف از مکانهای ذخیره سازی تصور نمایید.

برنامه نویسان تصور دیگری از حافظة Ram دارند.

آنها مجموعه بیت ها را در یک « لغت» ( Word) گروه بندی می کنند. به همین دلیل پردازنده هایی که از گذرگاه اطلاعات 32 بیتی استفاده می کنند در واقع از لغات 32 بیتی استفاده می کنند. پردازنده هایی که از گذرگاه اطلاعات 64 بیتی استفاده می کنند از بغات 64 بیتی استفاده می کنند. اما در پشت صحنه واقعیت این است که برنامه ها می توانند به بایت های انفرادی داخل حافظة Ram دسترسی داشته باشند. در شکل زیر نمایی از ساختار حافظة Ram را مشاهده می کنید که مکان هر بایت یک آدرس منحصربه فرد دارد. Cpu برای بازخوانی اطلاعات از حافظه Ram یا ثبت اطلاعات رد حافظة Ram باید آدرس مکانهای ذخیره سازی در این حافظه را بداند.

در فصل 12 جزییات مربوط به تبادل اطلاعات از طریق گذرگاه های کامپیوتر بین تراشه ها را می آموزید. هر گاه سیستم (‌System bus ) ارتباط بین حافظة Ram و Cpu را برقرار نمودده و شامل سیستم هایی است که اطلاعات بر روی آنها حرکت می کنند. تعداد بیت های موجود در گذرگاه آدرس مشخص کنندة مقدار حافظه ای هستند که کامپیوتر شخصی می تواند به آنها دسترسی داشته باشد. به عنوان مثال اگر در یک سیستم از گذرگاه آدرس 32 بیتی استفاده شود پس 232 یعنی 4 گیگابایت را می توان آدرس دهی نمود.

یا در یک سیستم که از گذرگاه آدرس 64 بیتی استفاده می شود پس 264 9551616، 737، 18446744 خانة حافظه را می توان آدرس دهی نمود.


آشنایی با پول الکترونیک

پول در زندگی بشر از چنان اهمیتی برخوردار است که برخی آن را یکی از اختراعات بشریاد کرده اند و حتی معتقدند تمدن بشری با اختراع پول همزمان بوده است
دسته بندی کامپیوتر و IT
بازدید ها 35
فرمت فایل doc
حجم فایل 32 کیلو بایت
تعداد صفحات فایل 35
آشنایی با پول الکترونیک

فروشنده فایل

کد کاربری 1024
کاربر

آشنایی با پول الکترونیک

مقدمه :

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

اقتصاد دانان تاریخ اقتصادی را با توجه به اهمیت نقش پول به سه دوره تقسیم می نمایند:

دوره اقتصاد پایاپای , دوره اقتصاد پولی و دوره اقتصاد اعتباری (کهزادی و گچلو, 1380 ). بر این اساس و با توجه به پیشرفت روز افزون فن آوری اطلاعات و ارتباطات (ICT ) و گسترش استفاده از پول الکترونیکی از اواسط دهه 1990 شاید بتوان دوره کنونی را دوره اقتصاد اینترنتی نامید . پول الکترونیک , ارزش پولی واحدهای ذخیره شده بر روی ابزار الکترونیکی است که توسط دولت یا مؤسسات خصوصی منتشر می شود.

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

ویژگیهای پول ا لکترونیک

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

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

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


پروژه طراحی سایت هتل با نرم افزارهای dream weaver، sql server و asp.net

ارتباطات در عصر حاضر و در آغاز قرن بیست و یکم الفبای زندگی صنعتی¸ مدرن و متمدن، جوامع مترقی این کره خاکی را تشکیل می‎دهد
دسته بندی برنامه نویسی
بازدید ها 30
فرمت فایل doc
حجم فایل 68 کیلو بایت
تعداد صفحات فایل 96
پروژه طراحی سایت هتل با نرم افزارهای dream weaver، sql server و asp.net

فروشنده فایل

کد کاربری 1024
کاربر

پروژه طراحی سایت هتل با نرم افزارهای dream weaver، sql server و asp.net


پیشگفتار

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

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

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

چکیده پروژه

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

در طراحی پروژه از نرم‎افزارهای زیر استفاده شده است:

Dream weaver*

SQL serer*

ASP.Net*

این پروژه کلیه امکانات سایت یک هتل را دارا می‏‎باشد و اطلاعات لازم در این زمینه را در اختیار مراجعه کنندگان می‎گذارد.

به عنوان مثال فردی که بخواهد از این سایت استفاده نماید بعد از مطالعه امکانات هتل و بازدید اتاق‎ها می‎تواند با تکمیل فرم رزرو اتاق مورد نظر خود را رزرو کند.


فصل اول

آشنایی بااینترنت

تاریخچه اینترنت

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

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

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

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

وقتی روش مرتبط ساختن کامپیوترهای شخصی مطرح می‌شد صاحبان شبکه‌ها می‌توانستند از طریق تجهیزات خاصی موسوم به دروازه‌ها شبکه‌های خود را به هم وصل کنند که البته ارتباط بین شبکه‌ها احتیاج به پروتکل های مناسب داشت.

در سال 1962 پاول بارن در مقاله‌ای تحت عنوان روی شبکه‌های ارتباطی توضیحاً به تشریح شبکه‌های PACKET SWITCH پرداخت در این روش داده‌ها به قطعات و بسته‌های کوچکتری خرد می‌شوند و هر بسته شبیه یک نامه پستی شامل آدرس فرستنده و گیرنده است و می‌تواند از هر مسیری به مقصد برسد در مقصد بسته‌ها مجدداً یک پارچه می‌شوند و به فرم کامل تحویل مقصد می‌شوند. در سال 1969 ایالات متحده چهار کامپیوتر را با استفاده از تکنولوژی PACKET SWITCH در ایالت های کالیفرنیا و یوتا به هم متصل کرد این شبکه خوب کارکرد و کاربران این کامپیوترها توانستند تقریباً همزمان به دیگر کاربران پیام بفرستند و فایل به اشتراک بگذارند، این پروژه همان آرپا نام گرفت اما یک کلمه جدید به انتهای ان اضافه شد و به صورت (ARPANET) درآمد با گذشت زمان، کامپیوترها و کابران جدید در سایت های دولتی و دانشگاهی به آن اضافه شدند در سال 1970 کامپیوترهای میزبان استفاده از پروتکل کنترل شده NCP را شروع کردند و یک سال بعد به تعداد گره‌های این پروژه به 15 و تعداد میزبانهای آن به 32 عدد رسید در همین سال شخصی به نام نایلون سیستم نامه‌رسان الکترونیکی را برای یک شبکه توزیع شده ابداع نمود در سال 1973 کشورهای بریتانیا و نروژ به ARPANET متصل شدند در سال 1974 دکتر رابرت متکالف نیز نظریه خود را در مورد اینترنت ارائه داد در همین سال سیرف و باب کان جزئیات پروتکل TCP را ارائه داد کمپانی BBN نیز بر نسخه تجاری آپارنت به اسم رتل بنت را ارائه کرد. از اواسط دهه 1970 تا 1980 شبکه‌های کوچکی از آرپانت استفاده کردند و تصمیم گرفتند تا به صورت شبکه‌ای با هم کار کنند آنها آرپانت را به عنوان هسته انتخاب کردند و شروع به ارتباط از طریق خطوط استیجاری نمودند در سال 1986 سرعت این شبکه‌ها 56 کیلو بیت در ثانیه بود. سرانجام در سال 1990 آرپانت تغییر یافت و نام اینترنت بر روی آن گذاشته شد. در آن زمان از سیستم‌های یونیکس در یک محیط خط فرمانی برای استفاده از امکانات اینترنت استفاده می‌شد با دستوراتی مثل FTPو TELNET برای اتصال و استفاده از سایر امکانات اینترنت استفاده می‌شد که لازم بود هر بار کاربر شناسه کاربری و رمز عبور وارد نماید.


فصل دوم

آشنایی با وب جهانی

تاریخچه صفحات وب

وب جهانی بخشی از اینترنت است که یک مدل ارتباطی را مشخص می‌کند بر روی وب جهانی اطلاعاتی وجود دارد که تنها با یک کلیک در اختیار قرار می‌گیرد. وب‌ها منابعی اطلاعاتی در اینترنت هستند وب سایت با صفحه وب متفاوت است وب سایت ممکن است شامل چندین صفحه، فایل، تصویر، صوت و غیره باشد پس هر وب سایت متشکل از صفحات مختلفی است که یکی از آنها به عنوان Home page شناخته می‌شود. صفحات هر سایت وب بر روی کامپیوتری قرار دارد که به مشتریان وب خدمات ارائه می‌دهد این کامپیوتر می‌تواند یک کامپیوتر خصوصی یا یک Server شبکه باشد که برای امور دیگری نیز مورد استفاده قرار می‌گیرد. به هر حال این کامپیوتر باید به اندازه کافی بزرگ بوده تا قابلیت سرویس‌دهی به درخواست‌های همزمان را داشته باشد.

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

در ‌آغاز وب جهانی فط شامل چندین ماشین SERVER/CILENT بود اما پس از چند سال بسیار گسترده شد کامپیوترهای SERVER/CILENT اساس اینترنت هستند بطور کلی SERVER کامپیوتری است که داده‌ها و اطلاعات را تحویل می دهد و CLIENT کامپیوتری است که داده‌ها و اطلاعات را درخواست می‌کند. در سال 1993 وب فقط پنجاه SERVER داشت در مدت هجده ماه این عدد به سی هزار عدد افزایش یافت در حال حاضر میلیون ها SERVER وب در جهان وجود دارد.

محتویات وب

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

HTML: زبان برنامه نویسی وب جهانی که به مرورگر می‌گوید چگونه متن، پیوندها، گرافیک و سایر رسانه‌های اسناد را نمایش دهد. این زبان اساس تمام صفحات وب است.

کنترل گر وب: مسئول نگهداری و بازسازی سند وب جهانی است کنترل‌گرهای وب نیروی خلاق ماورای وب جهانی هستند.

نام دامنه: نامی است که به هر کامپیوتر موجود در وب جهانی داده می‌شود که به عنوان تهیه کننده اطلاعات فایل‌هاست اسامی دامنه دو یا چند عبارت است که با نقطه از هم جدا می‌شوند مثل: WWW.MIT.EDU

URL: آدرس اسناد وب جهانی است که گاهی آدرس وب جهانی نیز نامیده می‌شود مثلا: http/www.yahoo.com سایت یاهواست.

کاربردهای وب جهانی

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

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

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

وب پویا و تفاوت آن با وب ایستا

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

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

بعضی از ویژگی‌های پویایی که مخاطبان اینترنت به آنها علاقه مند هستند عبارتند از:

حساسیست نسبت به زمان به جای محتویات دائره المعارف

تغییر محتویات و سبک طراحی

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

پشتیبانی از ارتباط با مخاطبین سایت

مدیریت موثر برای افزایش کیفیت اطلاعات

سالیانه هزاران وب سایت به دلیل کهنه شدن از رده خارج می‌شوند برای همین سایت های از دور خارج می‌شوند هزینه‌های زیادی مصرف شده است. در سال 1997 در حدود 1000 وب سایت از رده خارج شد و در سال 1998 تقریباً 2000 سایت وب از دور خارج شد و برای اینکه سایت‌های پویا جذاب باشند باید ویژگی‌های زیر را داشته باشند:

در هر بار مراجعه چیز جدیدی برای ارائه کردن داشته باشد.

رابط ها و برنامه‌نویس، منعکس کننده گرایش های جدید در سبک نرم‌افزار باشند

پاسخ به تغییرات در ترافیک کارگزار و بیننده از طریق عدم نیاز به کاربران با تجربه

عدم وجود گرافیک‌های نامفهوم و رابط‌های ناقص

کنترل شخصی و سفارشی سازی محتویات صفحات وب

فصل سوم

اصول طراحی صفحات وب

اصول طراحی صفحات وب

- مراحل طراحی صفحات وب

- روش‌های برنامه‌نویسی تحت وب

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

- ساخت صفحات وب در سایر برنامه‌ها

- ایجاد جذابیت در صفحات با استفاده از امکانات چند رسانه‌ای

مراحل طراحی صفحات وب

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

- توجه به مخاطب

- تعریف توابع و ساختارهای موردنظر

- خلق یک طراحی تصویری

- تنظیم محتویات با توجه به عناصر تصویری

- طراحی، تست پوسته عملیاتی

- تعیین محتویات صفحه

- تست و ارزیابی صفحه

- انتشار صفحه وب در اینترنت

توجه به مخاطب

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

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

برای این منظور موارد زیر را در نظر داشته باشید:

مشخص کنید که برای ایجاد صفحه به چه مواردی نیاز دارید

صفحه وب را توصیف کرده راه ‌حل‌هایی را برای حل این مسئله ارائه دهید.

وضعیت مخاطب خود را روشن کنید

ابزارهایی را که برای طراحی صفحه وب در اختیار دارید مورد بررسی قرار دهید

زمان‌بندی طراحی صفحه را مشخص کنید

با مخاطب خود ارتباط برقرار کنید و نظرات وی را جویا شوید

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

یک سایت نابسامان با نوع خط و رنگ ناموزون تأثیر منفی بر مراجعه کننده می‌گذارد (طراحی و جذابیت نوعی پاداش برای مراجعه کننده محسوب می‌شود) راهنمایی کردن مراجعه کننده یکی از مهمترین کارها در یک سایت است.