دسته بندی | کامپیوتر و IT |
بازدید ها | 27 |
فرمت فایل | doc |
حجم فایل | 591 کیلو بایت |
تعداد صفحات فایل | 85 |
امنیت در شبکه های بی سیم
مقدمه :
از آنجا که شبکههای بی سیم، در دنیای کنونی هرچه بیشتر در حال گسترش هستند، و با توجه به ماهیت این دسته از شبکهها، که بر اساس سیگنالهای رادیوییاند، مهمترین نکته در راه استفاده از این تکنولوژی، آگاهی از نقاط قوت و ضعف آنست. نظر به لزوم آگاهی از خطرات استفاده از این شبکهها، با وجود امکانات نهفته در آنها که بهمدد پیکربندی صحیح میتوان بهسطح قابل قبولی از بعد امنیتی دست یافت، بنا داریم در این سری از مقالات با عنوان «امنیت در شبکه های بی سیم» ضمن معرفی این شبکهها با تأکید بر ابعاد امنیتی آنها، به روشهای پیکربندی صحیح که احتمال رخداد حملات را کاهش میدهند بپردازیم.
بخش اول
1-1 شبکه های بی سیم، کاربردها، مزایا و ابعاد
تکنولوژی شبکه های بی سیم، با استفاده از انتقال داده ها توسط امواج رادیویی، در ساده ترین صورت، به تجهیزات سخت افزاری امکان می دهد تا بدون استفاده از بسترهای فیزیکی همچون سیم و کابل، یا یکدیگر ارتباط برقرار کنند. شبکه های بی سیم بازه وسیعی از کاربردها، از ساختارهای پیچیده ای چون شبکه های بی سیم سلولی - که اغلب برای تلفن های همراه استفاده می شد- و شبکه های محلی بی سیم (WLAN- wireless LAN ) گرفته تا انواع ساده ای چون هدفون های بی سیم، مرا شامل می شوند. از سوی دیگر با احتساب امواجی همچون مادون قرمز، تمامی تجهیزاتی که از امواج مادون قرمز نیز استفاده می کنند، مانند صفحه کلیدها، ماوس ها و برخی از گوشی های همراه، در این دسته بندی جای می گیرند. طبیعی ترین مزیت استفاده از این شبکه ها عدم نیاز به ساختار فیزیکی و امکان نقل و انتقال تجهیزات متصل به این گونه شبکه ها و هم چنینی امکان ایجاد تغییر در ساختار مجازی آن ها است. از نظر ابعاد ساختاری، شبکه های بی سیم به سه دسته تقسیم می شوند: WPAN , WlAN, WWAN .
مقصود از WWAN که مخفف Wireless WAN است، شبکه ها ساختار بی سیم سلولی مورد استفاده در شبکه های تلفن همراه است. WLAN پوششس محدودتر، در حد یک ساختمان یا سازمان، و در ابعاد کوچک یک سالن یا تعدادی اتاق، را فراهم می کند. کاربرد شبکه های WPAN یا Wireless Personal Area Netuork برای موارد خانگی است. ارتباطاتی چون Blue tooth و مادون قرمز در این دسته قرار میگیرند.
شبکه های WPAN از سوی دیگر در دسته شبکه های Ad Hoc نیز قرار می گیرند. در شبکه های Ad Hoc یک سخت افزار، به محض ورود به فضای تحت پوشش آن، به صورت پویا به شبکه اضافه می شود. مثالی از این نوع شبکه Blue tooth است. در این نوع، تجهیزات مختلفی از جمله صفحه کلید، ماوس، چاپگر، کامپیوتر کیفی یا جیبی و حتی تلفن همراه، در صورت قرار گرفتن در محیط تحت پوشش، وارد شبکه شده و امکان رد و بدل داده ها با دیگر تجهیزات متصل به شبکه را می یابند. تفاوت مکان شبکه های Ad Hoc با شبکه های محلی بی سیم (WLAN) در ساختار مجاز آنها است. به عبارت دیگر، ساختار مجازی شبکه های محلی بی سیم بر پایه طرحی استیاست در حالی که شبکه های Ad Hoc از هر نظر پویا هستند. طبیعی است که در کنار مزایایی که این پویایی برای استفاده کنندگان فراهم می کند، حفظ امنیت چنین شبکه های نیز با مشکلات بسیاری همراه است. با این وجود، عملاً یکی از راه حل های موجود برای افزایش امنیت در این شبکه ها، خصوصاً در انواعی همچون Blue tooth کاشتن از شعاع پوشش سیگنالهای شبکه است. در واقع مستقل از این حقیقت که عملکرد Blue tooth بر اساس فرستنده و گیرنده های کم توان استوار است و این مزیت در کامپیوتر های جیبی برتری قابل توجهی محسوب می گردد، همین کمی توان سخت افزار مربوطه، موجب کاهش محدود تحت پوشش است که در بررسی امنیتی نیز مزیت محسوب می گردد. به عبارت دیگر این مزیت به همراه استفاده از کدهای رمز نه چندان پیچیده، تنها ضربه های امنیتی این دسته از شبکه های به حساب می آیند.
2-1 اساس شبکه های بی سیم
در حال حاضر سه استاندارد در شبکه های Wireless با یکدیگر در حال رقابت هستند.
استاندارد (802.11b ) Wi-Fi که بر مناسبی برای استفاده در مکان های اداری دارد.
استاندارد 802.11a که پهنای باند بیشتری داشته و مشکلات تداخل فرکانس رادیویی آن کمتر می باشد ولی برد کوتاهتری دارد.
استاندارد Blue tooth برای برد کوتاه مثل شبکه های موقت در اتاق های کنفرانس، مدرسه ها، یا خانه ها استفاده می شود.
1-2-1 حکومت عالی Fi - Wi
Fi - Wi در حال حاضر محبوب ترین و ارزان ترین شبکه محلی بی سیم (Wireless LAN ) را دارد.
Fi - Wi در طیف رادیویی 2.4GH2 عمل می کند و می تواند سرعت انتقال اطلاعات را تا 11ubps با دامنه 30 متر بالا ببرد.
تعادلی که Fi - Wi بین اقتصاد، پهنای بلند، و مخصوصاً برد برقرار کرده، آن را به صورت استانداردی برجسته برای تجارت درآورده، و کارمندان بسیاری از این تکنولوژی برای کار و محاسبات شخصی استفاده می کنند. WECA[1] سهم خود را با تضمین صدها هزار محصول و اطمینان از کار و هماهنگی آنها با یکدیگر انجام داده، اما در Fi - Wi دو اشکال دارد.
اولاً از فضای هوایی، مشترکاً برای موبایل B;ue tooth امواج[2] رادیویی مهم و بقیه وسایل استفاده می کند. بنابراین، این تداخل امواج رادیویی، آ. را آسیب پذیر می کند.
ثانیاً به دلیل انتقال داده در هوا و وجود دیوار و دیگر موانع اجتناب ناپذیر، عملکرد واقعی به 5Mbps، یا تقریباً نصف سرعت مورد انتظار از آن می رسد.
2-2-1 802.11a یک استاندارد نوپا
802.11a دو مزیت بیشتر نسبت به Wi-Fi در فرکانس 5.35GH2 E5.15GH2 کار می کند که کمتر مورد استفاده است، در نتیجه تداخل امواج رادیویی در آن کمتر است. ثانیاً پهنای باند آن بسیار بالا است، و از نظر تئوری به 54cubp می رسد.
با وجود این که عملکرد واقعی آن نزدیک به 22Mbps است، همچنان فضای خالی برای انتقال صوت و تصویر دیجیتالی با کیفیت بالا و بقیه فایل های بزرگ، و همچنین به اشتراک گذاشتن اتصال Broad band در شبکه بیشتر از استاندارد Wi-Fi است و بعضی از تولید کننده ها، روشهای مخصوصی ارائه می دهند، که عملکرد آن را کمی بهتر می کند.
مشکل اصلی 802.11a از Wi-Fi در حال کاهش است، ولی در حال حاضر تجهیزات 802.11a بسیارگران تر از Wi-Fi است.
802.11a از Wi-Fi با یکدیگر سازگار نیستند، زیرا از دو تکنولوژی رادیویی متفاوت و دو قمست متفاوت از طیف رادیویی استفاده می کنند. به هر حال، تجهیزات استانداری برای هر دو تکنولوژی وجود دارد، که تبدیل آنها به یکدیگر را بسیار راحت کرده است. اگر می خواهید یکی از این دو استاندارد را انتخاب کنید، عوامل زیر را در نظر بگیرید:
اگر در حال حاضر از یکی از این استانداردها در کار خود استفاده می کنید، حتماً از همان استاندارد در منزل استفاده کنید، این کار ارتباط ر راحت تر می کند. اگر از لحاظ قیمت و سازگاری ( تجهیزاتی که برای سازگاری با استانداردهای دیگر هستند)، مشکلی ندارید، 802.11a کارایی بهرتری دارد و می تواند ارزش پرداخت هزیهنه اضافی را داشته باشد. اما اگر می خواهید دامنه بیشتری را با قیمت کمتر، تحت پوشش قرار دهید، Wi-Fi انتخاب بهتری است.
3-2-1 Blue tooth قطع کردن سیم ها
Blue tooth بطور اصولی یک فن آوری جایگزین کابل است. استاندارد فعلی Setup کردن کامپیوتر را در نظر بگیرید: یک صفحه کلید یک ماوس و مانیتور و احتمالاً یک چاپگر یا اسکنر به آن متصل هستند. اینها معمولاً به وسیله کابل به کامپیوتر متصل می شوند. یک تراشه Blue tooth برای جایگزین نمودن کابل ها بوسیله گرفتن اطلاعات حمل شده بصورت معمولی توسط یک کابل و انتقال آن در یک فرکانس خاص به یک تراشه گیرنده Blue tooth در کامپیوتر، تلفن، چاپگر یا هر چیز دیگری طراحی شده است. Blue tooth که در ابتدا توسط Ericsson ایجاد شده، استانداردی برای تراشه های رادیویی ارزان قیمت و کوچکی است که درون کامپیوترها، تلفن ها، موبایل ها و چاپگر ها و ممیره قرار می گیرد.
این ایده اصلی بود، اما سریعاً آشکار شد که کارهای بیشتری امکان پذیر است. شما می توانید اطلاعات را بین هر دو دستگاهی انتقال دهید، کامپیوتر و چاپگر، صفحه کلید و تلفن و موبایل، و غیره. هزینه کم تراشه Blue tooth ( حدود 5 درصد) و مصرف نیروی برق پایین آن، به این معنی است که می توان آن را تقریباً در هر جایی قرار داد.
می توانید تراشه های Blue tooth را در کانتینر های باری برای تشخیص بار در هنگام حرکت بار در گمرک یا در انبار داشته باشید، یا یک هدست که با یک تلفن موبایل در جیب شما یا در اتاق دیگری مرتبط می گردد. یا یک e-mail که به دستگاه موبایل شما ارسال شده و به محض رسیدن شما به محدوده کامپیوتر اداره چاپ می شود.
در حال حاضر می توان از یک ماوس و صفحه ملید بی سیم استفاده کرد، می توان عقب نشست و صفحه کلید را روی پاهای خود قرار داد، بدون اینکه سیم صفحه کلید مانع از انجام این کار شود.
کابل ها در اداره ها و خانه ها دردسر زیادی را ایجاد می کنند. اکثر ما این تجربه را داشته ایم که سعی نموده ایم تا سردر بیاوریم کدام کابل به کجا می رود و در سیم های پیچیده شده در پشت میز کار خود سردر گم شده ایم. رفع این مشکل با استفاده از تکنولوژی Blue tooth انجام می گیرد. Bluetooth همچنین یک استاندارد جهانی را برای ارتباط بی سیم ارائه می دهد. و پس از سال 2002 یک ریز تراشه Blue tooth در هر دستگاه دیجیتالی ساخته شده قرار خواهد گرفت. روش کار چنین است که اگر دو دستگاه Blue tooth در فاصله 10 متری از یکدیگر قرار بگیرند، می توانند با هم ارتباط برقرار کنند و چون Blue tooth از یک ارتباط رادیویی بهره می گیرد، تراشه نیازی به یک خط مرئی برای برقراری ارتباط ندارد.
تراشه رادیویی روی باند فرکانس 2.4GH2 قابلیت دسترسی جهانی دارد عمل می کند و سازگاری را در کل دنیا تضمین می کند فن آوری های Blue tooth، تمامی ارتباطات را بطور آنی برقرار می کنند و انتقال سریع و ایمن داده و صدا را ارائه می دهند.
در اینجا برخی کارهای ساده ای که می توانند بعنوان نتیجه استفاده از تکنولوژی Blue tooth برای ما فراهم شوند را می بینیم.
در آینده، احتمال می رود Blue tooth استاندارد دهها میلیون تلفن موبایل، PC، Laptop و دامنه وسیعی از دستگاه های الکترونیکی دیگر باشد. در نتیجه باید تقاضای زیادی برای برنامه های ابتکاری جدید، خدمات با ارزش افزوده، رهیافت های to-end و غیره وجود داشته باشد. احتمالات نامحدود هستند.
در ابتدا، Blue tooth شروع به جایگزینی کابل هایی خواهد نمود که دستگاه های دیجیتال متنوعی را به هم متصل می کنند و با افزایش تعداد ارتباطات، پتانسیل نیز افزایش می یابد. با پذیرش Blue tooth توسط تولید کنندگان بیشتری که آن را پشتیبانی می نمایند، توسعه دهندگان راه های جدیدی که پیشتر تصور آنها نمی رفت را برای به کارگیری نیروی آن خواهند یافت.
4-2-1 پشتیبانی خصوصی: Blue tooth
نام Blue tooth از نام یک پادشاه دانمارکی ( به نام Harald Blaatand ) که در قرن دهم زندگی می کرد، گرفته شده است. Blue tooth تا حدی متفاوت از دو استاندارد Wi-Fi و 802.11a می باشد. Blue tooth انعطاف پذیری بیشتری دارد ولی در مقیاس کوچکتر شبکه های[3] خانگی عمل می کند. عملکرد واقعی آن، فقط 300Kbps است و برد آن تقریباً 10 متر است.
Wi-Fi و 802.11a برای برقراری ارتباط بین دستگاه ها به Adaptor، مسیریابها Gateway ، Routers ها، ایستگاه های Access Point و برنامه های راه اندازی هم زمان، نیاز دارند. اما برخلاف آنها، تمام دستگاه هایی که امواج رادیویی و آنتن های Blue tooth داشته باشند، با تدارکات کمی، می توانند با یکدیگر ارتباط برقرار کنند. دستگاه هایی که با اشعه مادون قرمز کار می کنند، روشی برای انتقال فوری هستند. Blue tooth به وسیله جانشین کردن پورت های این دستگاه ها آنها را متعادل می کند و این کار را با برد بهتر و بدون نیاز به دید مستقیم (Line -of- sign) انجام می دهد. حضار در جلسات به وسیله Blue tooth هایی که به Blue tooth مجهز شده، می توانند فایل ها را از یک سر میز کنفرانس، به سر دیگر انتقال دهند، و یا فایلی را به پرینتری که به Blue tooth مجهز شده بفرستند، بدون نصب هیچ درایوی. کیوسک های مجهز به Blue tooth در فرودگاه ها و Houses Coffee به مشا اجازه می دهند تا از طریق کامپیوتر[4] کیفی یا کامپیوتر قابل حمل خود به اینترنت متصل شوید.
Blue tooth به زودی یک وسیله استاندارد بر روی بسیاری از موبایل ها و کامپیوتر های قابل حمل خواهد بود. حتی صحبت از برقرار دادن Blue tooth در وسایل خانگی می باشد.
اما با تمام منفعت که در تئوری برای Blue tooth وجود دارد، واقعیت این است که در حال حاضر، آشفتگی در سخت افزار و نرم افزار سازگار وجود دارد، به دلیل اینکه Blue tooth و Wi-Fi ، هر دو از یک رنج فرکانسی استفاده می کنند، در پهنای باند آنها تداخل صورت می گیرد و عملکرد را تا 10%، با بیشتر کاهش می دهد.
با ورود این استانداردها به بازار، طی چند سال آینده، الفبای Wireless پیچیده تر خواهد شد. برای مثال 802.11g پهنای باند Wi- Fi را تا 54Mbps افزایش خواهد داد ( در عمل 22Mbps )، در همین حال 802.11I ، تعدادی از سوارخ های امنیتی را در پروتکل WEP خواهد بست Blue tooth جدید در فرکانس بالاتر عمل خواهد کرد، در نتیجه دو برابر پهنای باند فعلی اش بهره می دهد.
ساختما ن ها می توانند سیگنالهای Wireless شما را ببلعند، به همین دلیل اسکلت اداره یا منزلتان - مکان دیوارها، حالت تالار ( راهرو)، و درها - همه چیز را به حساب آورد - اگر شما نقشه کف اتاقتان را نادیده بگیرید به شبکه ای که در هر گوشه و کناری قابل دسترسی است، خاتمه می دهید.
خطر معمول در کلیه شبکه های بی سیم متصل از پروتکل و تکنولوژی مورد نظر، بر مزیت اصلی این تکنولوژی که همان پویایی ساختار، مبتنی بر استفاده از سیگنال های رادیویی به جای سیم و کابل، استوار است. با استفاده از این سیگنالها و در واقع بدون مرز ساختن پوشش ساختار شبکه، نفوذ گران قادرند در صورت شکستن موانع امنیتی نه چندان قدرت مند این شبکه ها، خود را به عنوان عضوی از این شبکه ها جا زده و در صورت تحقق این امر امکان دست یابی به اطلاعات حیاتی، حمله به سرویس دهندگان سازمان و مجموعه، تخریب اطلاعات، ایجاد اختلال در ارتباطات گره های شبکه با یکدیگر، تولید داده ذهای غیر واقعی و گرمراه کننده، سوء استفاده از پهنای باند موثر شبکه و دیگر فعالیتهای مخرب وجود دارد.
در مجموع، در تمامی دسته های شبکه های بی سیم، از دید امنیتی حقایقی مشترک صادق است:
فهرست مطالب
عنوان صفحه
بخش اول
1-1 شبکههای بی سیم، کاربردها، مزایا و ابعاد............................................. 2
2-1 اساس شبکههای بی سیم................................................................ 3
1-2-1 حکومت عالی Wi-Fi............................................................... 3
2-2-1 802.11a یک استاندارد نوپا...................................................... 4
3-2-1 Bluetooth- قطع کردن سیمها................................................... 4
4-2-1 پشتیبانی خصوصی: Bluetooth.................................................. 6
5-2-1 آنچه پیشرو داریم................................................................... 7
3-1 منشأ ضغف امنیتی در شبکههای بیسیم و خطرات معمول............................ 7
بخش دوم
شبکههای محلی بیسیم...................................................................... 10
1-2 پیشینه..................................................................................... 10
2-2 معماری شبکههای محلی بیسیم........................................................ 11
بخش سوم
عناصر فعال و سطح پوشش WLAN ...................................................... 14
1-3 عناصر فعال شبکههای محلی بیسیم.................................................... 14
1-1-3 ایستگاه بیسیم........................................................................ 14
2-1-3 نقطة دسترسی......................................................................... 14
3-1-3 برد و سطح پوشش................................................................... 14
3-1-3 برد و سطح پوشش................................................................... 14
بخش چهارم
امنیت در شبکههای محلی بر اساس استاندارد 802.11.................................... 18
1-4 قابلیتها و ابعاد امنیتی استاندارد 802.11............................................. 19
1-1-4 Authentication................................................................. 19
2-1-4 Confidentiality................................................................. 19
3-1-4 Intergrity.......................................................................... 20
بخش پنجم
سرویسهای امنیتی Wep Authentication............................................. 21
1-5 Authentication.................................................................... 21
1-1-5 Authentication بدون رمزنگاری.............................................. 22
2-1-5 Authentication با رمزنگاری RC4.......................................... 22
بخش ششم
سرویسهای امنیتی 802.11b-privacy و integrity................................... 24
1-6 privacy................................................................................ 24
2-6 integrity.............................................................................. 25
بخش هفتم
ضعفهای اولیه امنیتی WEP................................................................ 27
1-7 استفاده از کلیدهای ثابت WEP....................................................... 27
2-7 Initialization........................................................................ 28
3-7 ضعف در الگوریتم...................................................................... 28
4-7 استفاده از CRC رمز نشده............................................................. 28
بخش هشتم
خطرها، حملات و ملزومات امنیتی .......................................................... 30
بخش نهم
پیاده سازی شبکه بی سیم..................................................................... 33
1-9 دست به کار شوید....................................................................... 33
2-9 دندة درست را انتخاب کنید............................................................ 33
3-9 راهاندازی یک شبکه بیسیم............................................................ 34
4-9 دستورالعملها را بخوانید................................................................ 35
5-9 محافظت از شبکه........................................................................ 36
بخش دهم
برنامهنویسی سیستمهای بی سیم و موبایل (معرفی WAP) ................................ 39
1-10 WAP چیست؟ ....................................................................... 39
2-10 ایدة WAP ........................................................................... 40
3-10 معماری WAP ....................................................................... 40
4-10 مدل WAP ........................................................................... 41
5-10 Wap تا چه اندازهای امن است؟ ..................................................... 42
بخش یازدهم
مفاهیم امنیت شبکه .................................................................................. 43
1-11 منابع شبکه .................................................................................... 43
2-11 حمله ........................................................................................... 44
3-11 تحلیل و خطر ................................................................................. 45
4-11 سیاست امنیتی ................................................................................. 45
5-11 طرح امنیت شبکه ............................................................................. 47
6-11 نواحی امنیتی .................................................................................. 47
7-11 مرکزی برای امنیت شبکه .................................................................... 48
8-11 چرا service directory ................................................................. 49
9-11 اکتیو دایرکتوری چگونه کار می کند ...................................................... 51
10-11 مزایای اکتیو دایرکتوری ................................................................... 52
11-11 افزایش همکاری بین شبکه ها ............................................................. 53
بخش دوازدهم
1-12 کنترل دولتی .................................................................................. 55
2-12 کنترل سازمانی ............................................................................... 55
3-12 کنترل فردی .................................................................................. 55
4-12 تقویت اینترانت ها ........................................................................... 56
5-12 وجود یک نظام قانونمند اینترنتی ....................................................... 56
6-12 کار گسترده فرهنگی .................................................................... 56
7-12 فایروالها ................................................................................... 57
8-12 سیاستگذاری ملی در بستر جهانی ....................................................... 59
9-12 اینترنت و امنیت فرهنگی ایران .......................................................... 63
10-12 جمع بندی ............................................................................... 68
بخش سیزدهم
امنیت تجهیزات شبکه ........................................................................... 70
1-13 امنیت فیزیکی ............................................................................. 71
2-13 امنیت منطقی .............................................................................. 75
3-13 ملزومات و مشکلات امنیتی ارائه دهندگان خدمات .................................. 78
فهرست منابع ..................................................................................... 80
[1]- Wireless Ethernet compatibitity Alliance
[2]- Security radios
[3] - Personal area network
[4] - Laptop
دسته بندی | کامپیوتر و IT |
بازدید ها | 24 |
فرمت فایل | doc |
حجم فایل | 23 کیلو بایت |
تعداد صفحات فایل | 27 |
طراحی لباس با کمک کامپیوتر (CAD)
ظهور کامپیوتر اگرچه رویدادی علمی بود، اما انقلاب صنعتی را که از بسیاری جهات قابل مقایسه با انقلابهای صنعتی دیگر نیست پدید آورد. کامپیوتر در قرن اخیر در کشورهای صنعتی و پیشرفته به سرعت گسترش یافته و حیطه عمل و حکومت ان تمام فعالیت های انسانی را در برگرفته است. طرز کار و اداره و مدیریت دستگاههای اقتصادی و اجتماعی و آموزشی و اداری و دفاعی پس از اختراع و استفاده از کامپیوتر تحول عظیمی یافت که زندگی بشر را در نیمه دوم قرن بیستم کاملاً تحت تسلط خود در آورد.یکی از جنبه های کاربرد کامپیوتر، تأثیرگذاریبر طراحی پارچه و لباس و سایزبندی و محاسبه ضایعات پارچه هنگام برش و علامت گذاری بر روی الگو برای دوخت است. کامپیوترها به چهار گوره تقسیم می شوند: 1- پردازنده مرکزی MAINFRAME کامپیوتر بزرگی است که ظرفیت آن بسیار بیشتر از یک کامپیوتر کوچک یا ریز کامپیوتر است. 2- کامپیوتر کوچک MINICOMPUTER 3- کامپیوتر خانگکی HOME COMPUTER 4- کامپیوتر شخصی PERSONAL COMPUTER کامپیوتری که در طراحی استفاده می شود، از نوع کامپیوترهای بزرگ با قدرت زیاد POWER of MINI MAINFRAME است. امروزه تعداد این گونه کامپیوترها بسیار افزایش یافته است و با کاهش قیمتهای کامپیوتر CAD کمپانیهای کوچک نیز قادر به تهیه آن شده اند. انواع مختلف نرم افزار و برنامه ها و زبان کامپیوتر و عملیات مربوط را می توان به راههای گوناگون بر روی صفحه مانیتور مشاهده کرد. خطوط پیشکل ، بردار ، برش الگو برای کشیدن یک تصویر صفحه نمایش را به مربع های کوچک زیادی تقسیم می کنمی. و سپس با سیاه کردن برخی از آنها شکل مورد نظر را به دست می آوریم. این مربع های کوچک یخته تصویری می گویند. اطلاعات یاخته تصویری برای ویدئو ، طرح های کشباف، طراحی پارچه های بافته شده در طرح های چاپ پارچه در نساجی بسیار مناسب است، البته پس از سیاه کردن تمام صفحه و سفید کردن بعضی از مربعها، می توان به تصویر (منفی) یک شکل دست یافت، لیکن ما در اینجا برای آسانی کار همه نمونه ها را از تصویرهای (مثبت) انتخاب می کنیم. دستگاههای جدیدتر، نگاره سازی ریزنگاشت «HIGH RESOLUTION» می توان تصویرها را با جزئیات بیشتری ارائه کند. نقطهها بر روی صفحه کامپیوتر نشانگر یاخته تصویری هستند خطوط کوچک بین دو نقطه با برداری که هم دارای اندازه و هم جهت فضایی است ثبت می شود. VECTOR LINE به طور کلی هر دستگاه کامپیوتر عملیات زیر را انجام می دهد. 1- خواندن دستورالعملها (قسمت ورودی)2- ضبط کردن دستورالعملها و اطلاعات لازم در حافظه و استفاده به موقع از آنها؛ 3- اجرای عملیات منطقی و محاسبات 4- نظارت بر اجرای کلیه و عملیات 5- چاپ یا ظاهر کردن نتایج (قسمت خروجی)کاربرد کامپیوتر در الگو و دوخت تعداد محدودی از کارخانجات بزرگ تولید لباس از کامپیوتر استفاده می کنند. بسیاری از آنها معتقدند که با کامپیوتر فقط می توان طرح الگوها را تغییر داد و انها را اصلاح کرد و این دستگاه در برش الگو کاربردی ندارد. برخی از دلائل عدم استفاده از کامپیوتر عبارت است از : 1- شرکت هایی که سرمایه زیادی دارند. و طرفدارتکنولوژی مدرن جدیدند و در صدد بالابردن کیفیت کار هستند علیرغم قیمت بالای این دستگاه به علت درآمد حاصل از آن و تأثیری که بر روی محصولات کارخانه بجا خواهد گذارد این دستگاه را برای تسریع کارهای مربوط به الگو و دوخت می خرند و استفاده می کنند، لیکن تولیدیها و شرکتهای کوچک به علت هزینه سنگین و آموزش نمی توانند از این دستگاه استفاده کنند. 2- بسیاری از طراحان تمایلی به تغییر روش قدیمی و سنتی خود که در آن مهارت تجربه کافی کسب کرده اند ندارند و ترس از روبرو شدن با دستگاه پیچیده ای متشکل از قطعات الکترونی و سازشی با شرایط جدید و مشکلات آموزشی، آنها را از این کار باز می دارد. 3- شرکت ها با مشکل تربیت تکنسین و کمبود افراد متخصص در این زمینه مواجه هستند. آموزش CAD برای برش الگو، سایزبندی و غیر و ... بسیار گران است شرکت های می بایست هزینه سنگینی را متقبل شوند. اگر شرکت ها و تولیدیهای لباس، آماده کردن و اجرای طرح و برش الگو را با کامپیوتر انجام دهند و به افراد آموزش لازم را در این زمینه بدهند، در مدت زمان کوتاهی تأثیر متقابل آن را در انسان و ماشین های دوخت در می یابند. در اینجا نمونه کارهای کامپیوتر را به اختصار توضیح می دهیم. رسم خطو مستقیم و منحنی و طرح های آزاد پاک کردن خطوط و یا قسمتهایی از آن، امتداد و گسترش خطوط. تغییر خطوط به اندازه دلخواه ، یا به طول های ویژه. اندازه گیری خطوط الگو ، تمام و یا قسمت های مورد نظر. تغییر محیط شکلها در الگو. جدا کردن قسمتهای مختلف الگو. اتصال کامل قسمت های جدا شده یا قسمتی از آنها. حرکت دادن قسمت هایی از الگو به اطراف. چرخاندن و قرینه کردن الگوها. اتصال ساسونها و افزودن گشادی (اوازمان) به الگو. تکمیل الگو ، افزودن اضافه درز برای دوخت، مشخص کردن علائم روی الگوف چرتها و محل اتصال قسمت عهای مختلف الگو. دادن اطلاعات لازم در مورد خصوصیات پارچه (طول، عرض، و طرح روی پارچه). مدل لباس، سایزهای مورد لزوم، محاسبه ضایعات پارچه و انتخاب سایزهای مناسب برای جلوگیری از هدر رفتن پارچه و کاهش در قیمت پارچه مصرفی. طرحهای گرافیکی شکل صفحه 201 برگه مشخصات طرح و برش شکل صفحه 202 کاهش قیمت لباس با استفاده از نقشه ای که کامپیوتر ارائه می دهد. پس از ساختن الگو و سایزبندی، کامپیوتر با استفاده از کلیه اطلاعات برگه مشخصات طرح و برش و مشخصات پارچه، نقشه قرار دادن الگو را بر روی پارچه به نحوی که ضایعات به حداقل برسد، سایزهای مناسب و تعداد آنها برای تولید انبوه، کلیه محاسبات را انجام می دهد. نقشه را می توان بر روی صفحه مانیتور کامپیوتر مشاهده کرد. درتولیدیها، این کار را برشکار در مدت زمانی طولانی انجام می دهد و با جا به جا کردن قطعات چیده شده الگو بر روی پارچه سعی می کند از خرد شدن پارچه جلوگیری کند. تا بر قیمت لباس فزوده نشود. حال آنکه کامپیوتردر مدت زمان کوتاهی، کلیه اطلاعات دقیق و لازم را فراهم می آورد و از اتلاف وقت جلوگیری و بر سرعت کار می افزاید.
ظهور کامپیوتر اگرچه رویدادی علمی بود، اما انقلاب صنعتی را که از بسیاری جهات قابل مقایسه با انقلابهای صنعتی دیگر نیست پدید آورد. کامپیوتر در قرن اخیر در کشورهای صنعتی و پیشرفته به سرعت گسترش یافته و حیطه عمل و حکومت ان تمام فعالیت های انسانی را در برگرفته است. طرز کار و اداره و مدیریت دستگاههای اقتصادی و اجتماعی و آموزشی و اداری و دفاعی پس از اختراع و استفاده از کامپیوتر تحول عظیمی یافت که زندگی بشر را در نیمه دوم قرن بیستم کاملاً تحت تسلط خود در آورد.یکی از جنبه های کاربرد کامپیوتر، تأثیرگذاریبر طراحی پارچه و لباس و سایزبندی و محاسبه ضایعات پارچه هنگام برش و علامت گذاری بر روی الگو برای دوخت است. کامپیوترها به چهار گوره تقسیم می شوند: 1- پردازنده مرکزی MAINFRAME کامپیوتر بزرگی است که ظرفیت آن بسیار بیشتر از یک کامپیوتر کوچک یا ریز کامپیوتر است. 2- کامپیوتر کوچک MINICOMPUTER 3- کامپیوتر خانگکی HOME COMPUTER 4- کامپیوتر شخصی PERSONAL COMPUTER کامپیوتری که در طراحی استفاده می شود، از نوع کامپیوترهای بزرگ با قدرت زیاد POWER of MINI MAINFRAME است. امروزه تعداد این گونه کامپیوترها بسیار افزایش یافته است و با کاهش قیمتهای کامپیوتر CAD کمپانیهای کوچک نیز قادر به تهیه آن شده اند. انواع مختلف نرم افزار و برنامه ها و زبان کامپیوتر و عملیات مربوط را می توان به راههای گوناگون بر روی صفحه مانیتور مشاهده کرد. خطوط پیشکل ، بردار ، برش الگو برای کشیدن یک تصویر صفحه نمایش را به مربع های کوچک زیادی تقسیم می کنمی. و سپس با سیاه کردن برخی از آنها شکل مورد نظر را به دست می آوریم. این مربع های کوچک یخته تصویری می گویند. اطلاعات یاخته تصویری برای ویدئو ، طرح های کشباف، طراحی پارچه های بافته شده در طرح های چاپ پارچه در نساجی بسیار مناسب است، البته پس از سیاه کردن تمام صفحه و سفید کردن بعضی از مربعها، می توان به تصویر (منفی) یک شکل دست یافت، لیکن ما در اینجا برای آسانی کار همه نمونه ها را از تصویرهای (مثبت) انتخاب می کنیم. دستگاههای جدیدتر، نگاره سازی ریزنگاشت «HIGH RESOLUTION» می توان تصویرها را با جزئیات بیشتری ارائه کند. نقطهها بر روی صفحه کامپیوتر نشانگر یاخته تصویری هستند خطوط کوچک بین دو نقطه با برداری که هم دارای اندازه و هم جهت فضایی است ثبت می شود. VECTOR LINE به طور کلی هر دستگاه کامپیوتر عملیات زیر را انجام می دهد. 1- خواندن دستورالعملها (قسمت ورودی)2- ضبط کردن دستورالعملها و اطلاعات لازم در حافظه و استفاده به موقع از آنها؛ 3- اجرای عملیات منطقی و محاسبات 4- نظارت بر اجرای کلیه و عملیات 5- چاپ یا ظاهر کردن نتایج (قسمت خروجی)کاربرد کامپیوتر در الگو و دوخت تعداد محدودی از کارخانجات بزرگ تولید لباس از کامپیوتر استفاده می کنند. بسیاری از آنها معتقدند که با کامپیوتر فقط می توان طرح الگوها را تغییر داد و انها را اصلاح کرد و این دستگاه در برش الگو کاربردی ندارد. برخی از دلائل عدم استفاده از کامپیوتر عبارت است از : 1- شرکت هایی که سرمایه زیادی دارند. و طرفدارتکنولوژی مدرن جدیدند و در صدد بالابردن کیفیت کار هستند علیرغم قیمت بالای این دستگاه به علت درآمد حاصل از آن و تأثیری که بر روی محصولات کارخانه بجا خواهد گذارد این دستگاه را برای تسریع کارهای مربوط به الگو و دوخت می خرند و استفاده می کنند، لیکن تولیدیها و شرکتهای کوچک به علت هزینه سنگین و آموزش نمی توانند از این دستگاه استفاده کنند. 2- بسیاری از طراحان تمایلی به تغییر روش قدیمی و سنتی خود که در آن مهارت تجربه کافی کسب کرده اند ندارند و ترس از روبرو شدن با دستگاه پیچیده ای متشکل از قطعات الکترونی و سازشی با شرایط جدید و مشکلات آموزشی، آنها را از این کار باز می دارد. 3- شرکت ها با مشکل تربیت تکنسین و کمبود افراد متخصص در این زمینه مواجه هستند. آموزش CAD برای برش الگو، سایزبندی و غیر و ... بسیار گران است شرکت های می بایست هزینه سنگینی را متقبل شوند. اگر شرکت ها و تولیدیهای لباس، آماده کردن و اجرای طرح و برش الگو را با کامپیوتر انجام دهند و به افراد آموزش لازم را در این زمینه بدهند، در مدت زمان کوتاهی تأثیر متقابل آن را در انسان و ماشین های دوخت در می یابند. در اینجا نمونه کارهای کامپیوتر را به اختصار توضیح می دهیم. رسم خطو مستقیم و منحنی و طرح های آزاد پاک کردن خطوط و یا قسمتهایی از آن، امتداد و گسترش خطوط. تغییر خطوط به اندازه دلخواه ، یا به طول های ویژه. اندازه گیری خطوط الگو ، تمام و یا قسمت های مورد نظر. تغییر محیط شکلها در الگو. جدا کردن قسمتهای مختلف الگو. اتصال کامل قسمت های جدا شده یا قسمتی از آنها. حرکت دادن قسمت هایی از الگو به اطراف. چرخاندن و قرینه کردن الگوها. اتصال ساسونها و افزودن گشادی (اوازمان) به الگو. تکمیل الگو ، افزودن اضافه درز برای دوخت، مشخص کردن علائم روی الگوف چرتها و محل اتصال قسمت عهای مختلف الگو. دادن اطلاعات لازم در مورد خصوصیات پارچه (طول، عرض، و طرح روی پارچه). مدل لباس، سایزهای مورد لزوم، محاسبه ضایعات پارچه و انتخاب سایزهای مناسب برای جلوگیری از هدر رفتن پارچه و کاهش در قیمت پارچه مصرفی. طرحهای گرافیکی شکل صفحه 201 برگه مشخصات طرح و برش شکل صفحه 202 کاهش قیمت لباس با استفاده از نقشه ای که کامپیوتر ارائه می دهد. پس از ساختن الگو و سایزبندی، کامپیوتر با استفاده از کلیه اطلاعات برگه مشخصات طرح و برش و مشخصات پارچه، نقشه قرار دادن الگو را بر روی پارچه به نحوی که ضایعات به حداقل برسد، سایزهای مناسب و تعداد آنها برای تولید انبوه، کلیه محاسبات را انجام می دهد. نقشه را می توان بر روی صفحه مانیتور کامپیوتر مشاهده کرد. درتولیدیها، این کار را برشکار در مدت زمانی طولانی انجام می دهد و با جا به جا کردن قطعات چیده شده الگو بر روی پارچه سعی می کند از خرد شدن پارچه جلوگیری کند. تا بر قیمت لباس فزوده نشود. حال آنکه کامپیوتردر مدت زمان کوتاهی، کلیه اطلاعات دقیق و لازم را فراهم می آورد و از اتلاف وقت جلوگیری و بر سرعت کار می افزاید.
دسته بندی | کامپیوتر و IT |
بازدید ها | 23 |
فرمت فایل | doc |
حجم فایل | 93 کیلو بایت |
تعداد صفحات فایل | 53 |
مقدمات داده پردازی
تعریف داده(Data)
هر اطلاع مفید ولازم درباره چیز یا امری رایک داده می گویند.به شناسنامه خود نگاه کنید.نام، نام خانوادگی،نام پدر ،سال تولد،محل تولد،شماره شناسنامه وسایر اطلاعات آن ،همه درباره شماست.
اینها داده های مرتبط با شما هستندوشما را از دیگران متمایز ومجزا می کنند؛ به شما سود می رسانند؛
حقوق شما را محفوظ می دارند وبه دولت امکان می دهند که برای شما برنامه ریزی کندو امکانات فراهم سازد.
داده ها در همه امور، نقش بازی می کنند.مثلا در دادوستد، داده ها نقش بسیار بزرگی دارند.اطلاع ازاین که چه مقدارپول دارید؛ بابت چه کالا وخدماتی پول گرفته یا پرداخته اید؛ از چه حسابی پول برداشته وبه کدام حساب واریز کرده اید؛ چقدر طلبکبرید وچقدر بدهکارید؛و…. همه، داده های مالی شما هستند . حسابداران با چنین دا ده های مالی سروکاردارند وآن را مدیریت می کنند وازآن ها نتیجه گیری می کنند.
گفتیم که داده ها باید مفید ولازم باشند.مثالی می زنیم:
اگردر شناسنامه شما وزن یا قد شما را می نوشتند،صحیح بود؟ پاسخ منفی است.ذکر وزن وقد در شناسنامه کاربردی ندارد و وجود آنها لازم نیست، هر چند که مفید است.اما در پرونده پزشکی شما هم لازم هستند وهم مفید،زیرا به شناسایی وضع سلامت شما ونیز، به شناخت ودرمان بیماری شما یاری میرسانند.
داده ها با هم ارتباط دارند.
اگر بدانید شماره شناسنامه شخصی 259 است، آیا می توانیداورا پیدا کنید؟ این کار دشوار است. ممکن است شماره شناسنامه خیلی از مردم259 باشد. حالا اگر بدانید که نام آن شخص مثلا مسعود است یافتن او آسانتر می شود؛ هر چند که هنوز هم شاید اسم خیلیها مسعود وشماره شناسنامه شان 259 باشد.اما اگر در همین حال، نام خانوادگی او را هم بدانید دیگر یافتن اوساده می شود.نتیجه ارتباط داده ها به یکدیگر، شناسایی سریعتر است.داده هایی که به هم ارتباط نداشته باشند یا نتوان ارتباط آنها را نسبت به هم پیدا کرد، کاربرد زیادی ندارد وشاید اصلا به درد نخورد.
داده های نامرتب کاربرد ندارند.
اگر اطلاعات وداده های زیادی را بدون نظم وترتیب در جاهای مختلف پخش کنید، چطور می توانید به هنگام نیاز ازمیان آنها چیز خاصی را پیدا کنید؟داده ها هم مثل اشیای یک خانه یا انبار هستند وفقط از طریق نظم دادن وطبقه بندی وتازه کردن آنهاست که می توان از آنها سود برد .
داده ها چگونه مرتب میشوند؟
راههای مختلفی برای مرتب کردن داده ها وجود دارد.یکی از آسانترین روشها آن است که داده هارا به شکل یک جدول در آوریم. همه شمامی دانید جدول چیست.برنامه دانشگاه شما یک جدول است.دفتر حضور وغیاب کلاس شما یک جدول است صورتحساب بانکی پدر ومادر شما یک جدول است . اصول تمام جدولها یکی است ودرک آن نیز بسیار آسان است.در تمام آنها،برای مرتب کردن اطلاعات صفحه را خط کشی کردند وآن به شکل سطر ها وستونها در آوردند.به این ترتیب ، مجبورید اطلاعات را به شکل مرتب و زیر هم ،در جدول وارد کنید.در بالای هر ستون جدول،نام آنچه را که قرار است در آن ستون وارد کنید،می نویسید.در هر سطر اطلاعات،نام شخص یا چیزی را که آن داده ها به او مرتب است می نویسید.مثالی می زنیم.کتابهایی را که در خانه یا دانشگاه دارید،در نظر بگیرید.می توانید یک جدول درباره ی آنها تشکیل دهید و اطلاعات مرتبط با کتابها را در آن نگهداری کنید.در مورد هر کتاب می توانید داده هایی از قبیل نام کتاب،نام نویسنده،نام مترجم،نام ناشر،تعداد صفحات،تاریخ نشر و… را به صورت زیر،تبدیل به یک جدول کنید.
حال،برای هر کتاب اطلاعات مرتبط با آن را در یک سطر این جدول می نویسید:
نام کتاب |
نام نویسنده |
نام مترجم |
نام ناشر |
تعداد صفحات |
شناسایی وشکار جاسوس |
پیتر رایت |
محسن اشراقی |
مؤسسه اطلاعات |
608 |
ساعت سرمستی |
هیوبرت ریوز |
دکتر سهامی |
نشر قطره |
339 |
… |
… |
… |
… |
… |
البته می توان این جدول را به هر شکل دیگری تهیه کرد و درباره ی هر کتاب اطلاعات دیگری مانند نوبت چاپ،شماره ی شناسایی کتاب و…را نیز در جدول وارد کرد.مهم،اطلاعاتی ست که شما درباره ی هر کتاب مفید و لازم می دانید و داده های شما به شمار می آیند.این جدول،داده های شما را مرتب می کند.به این جدول داده ها(Data Table)می گویند.
جستجو در جدول داده ها
گفتیم که مرتب کردن اطلاعات ، جستجو در آن را آسان می کند فرض کنید که جدولی از کتاب های موجود در خانه یا دانشگاه خود را تهیه کرده اید واینک می خواهید بدانید که مثلا کدامیک در سال 1371چاپ شده است.
در این صورت، به شکل زیر عمل می کنید:
ستون تاریخ نشر را می بینیم وآن را از بالا به پایین مرور می کنید . در هر خانه ای از این ستون که عدد 1371 که دیدید آن سطر جدول را با یک قلم رنگی رنگ می زنید یا بیرون جدول ، کنار نام کتاب ،یک علامت می گذارید. وقتی همه جدول را مرور کردید تمام سطرهایی که علامت دارند یا رنگ شده اند، کتابهای مورد نظر شماهستند به همین شکل، جستجوی نام نویسنده خاص ویا هر مورد دیگر ،آسان می شود.
با ارزان شدن وتوانمندشدن رایانه ها،بزودی برنامه نویسان بر آن شدند تا برنامه های کاربردی قدرتمندی را برای کار با اطلاعات ایجاد کنند.که در عین حال آسان وهمه فهم باشد.یکی از آخرین محصولات نرم افزاری ویژه ی این کار،برنامه های اداری شرکت میکروسافت است،این سلسله از برنا
مه های میکروسافت آفیس(MicrosaftOffice)نام دارد و مجموعه ای از چند برنامه ی ک
اربردی برای ماشینی کردن دفاتر کار است.
یکی از قطعات این مجموعه برنامه ها،برنامه ی کاربردی اکسس است که برای داده پردازی و استفاده از اطلاعات ایجاد شده است.این برنامه می تواند یک پایگاه داده ها را اداره کند.اینک ببینیم که پایگاه داده ها چیست؟
تعریف پایگاه داده ها
گفتیم که یکی از روشهای آسان اداره ی داده ها،ایجاد جدول مرتبی از آنهاست که به آن جدول داده ها (DataTable)می گویند.
برنامه ی اکسس،دو یا چند جدول داده را،پایگاه داده ها (Database)می نامدو می تواند آن رابه خوبی اداره کند.برنامه ای را که می تواند یک پایگاه داده ها را اداره کند،برنامه ی مدیریت پایگاه داده ها(Database Management Program)می گویند.اکسس،یک برنامه ی مدیریت پایگاه داده هاست.به مجموعه ای از جدولهای داده ها،پایگاه داده ها می گویند.
تعریف فیلد(Field)و رکورد(Record)
همان طور که قبلا گفتیم،اکسس با جدول های داده ها کار می کنیم.هر جدول،از تعدادی سطرو ستون تشکیل شده است.اکسس به هر یک از ستون ها،یک فیلد،(Field) میگویند.بنابراین،جدول کتابخانه ی ما در مثال قبلی 6فیلد دارد.همچنین اکسس،هر سطر جدول داده ها را نیز یک رکورد می خواند.
در همان جدول کتابخانه ها،در مثال قبلی ،شما سه رکوردرا می بینید.به این ترتیب، هر رکورددر آن
داده ها را نیز یک رکورد(Record)می خواند.در همان جدول کتابخانه ها،در مثال قبلی،شما سه رکورد را می بینید.به این ترتیب،هر رکورد در آن جدول شامل شش فیلد است.درک مفهوم فیلدو رکورد در کار با اکسس بسیار مهم است،اما پس از مقداری تمرین،به راحتی آن را فرا گرفته،به کار گفتیم که هر پایگاه داده،از تعدادی جدول تشکیل می شود.حال ببینیم چرا چند جدول رادر یک پایگاه داده ها می گذارند؟و این کار چه مزیتی دارد؟به مثال زیر توجه کنید:
|
فرض کنید یک جدول داده ها دارید که فیلد های آن اطلاعاتی درباره ی سفارش های مشتریان یک فروشگاه مثل نام و نام خانوادگی و تاریخ ومقدار خرید هر کالاست و جدول دیگری داریدکه در آن فیلد های دیگری مثل اطلاعاتی درباره ی شهر،محله،خیابان،کوچه،تلفن وموارد از این دست درباره ی همان مشتری ها موجود است.حال،چگونه بایدمثلا کشف کنید که فلان مشتری ساکن فلان خیابان،چقدر خرید کرده است.اطلاعات خرید وفروش مشتری در یک جدول و اطلاعات سکونتی همان مشتری،در جدول دیگر است.
برای این کار،باید در هر یک از جدول های یک فیلد مشترک پیدا کنید.یعنی فیلدی که هم در این جدول و هم در آن جدول موجود باشد.بعد:
1ـاطلاعات را از جدول اول برمی دارید و به فیلد مشترک نگاه می کنیدوداده ی موجود در آن،مثلا نام خانوادگی یا شماره ی شناسنامه را جایی یادداشت می کنید.
2ـدر جدول دوم،فیلد مشترک را پیدا می کنیدو در آن داده ای را که یادداشت کرده اید می یابید.حالا رکورد مورد نظررا پیدا کرده ایدوباید در آن به سراغ فیلد نشانی بروید وآن را یادداشت کنید.
به این ترتیب،این دو جدول به هم ربط پیدا می کنند.ربط دادن جدول ها به هم،از طریق یک فیلد مشترک،قدرت مانور شمارا در جستجوی داده هاو نتیجه گیری از آنها بسیار افزایش می دهد ودر حجم جدولها صرفه جویی می کند.زیرا،دیگر لازم نیست که مثلا در مقابل هر رکوردی که برای خرید و فروش مشتری به وجود می آورید،یک بار هم،آدرس او را در همان جدول بنویسیدو می توانید این داده را از جدول دیگری بردارید.به این مدل از پایگاه داده ها،پایگاه داده ها ی ارتباطی (Relational Database).اکسس،از این مدل پایگاه داده ها استفاده میکندو به همین سبب به آن مدیرپایگاه داده های ارتباط (Relational Database Management System) به طور خلاصهRDMBSمی گویند.
تعریف پایگاه داده های ارتباطی
پایگاه داده های ارتباطی،مجموعه ای از جدولهای داده است که یک فیلد مشترک در هر یک از
جدولها وجود دارد و از طریق آن می توان داده ها را به هم ربط داد.
تعریف کلید
اکسس،به فیلدی که لا اقل در دو جدول داده ها مشترک باشد،فیلد کلیدی(KeyField)یا به اختصار (کلید)می گویند.علت این نام آن است که این فیلد،کلید وارد شدن از یک جدول به جدول دیگر است.گفتیم که دو جدول اکسس از طریق یک فیلد مشترک می توانند به همدیگر ارتباط یابند.حالا،این موضوع را برای بیش از دو جدول بررسی می کنیم.در این مورد مثالی را مشاهده کنید.
فرض کنید دو جدول داده هایاکسس دارید که در اولی مشتریان معرفی می شوندو به هر یک از آنها یک شماره ی مشتری که حتما باید غیر تکراری و بدون مشابه باشد،اختصاص می یابد.حالا اگر جدول دیکری داشته باشیم که به خرید های مشتریان اختصاص یافته باشدو در آن هم،برای هر بار خرید مشتریان یک رکوردثبت و نگهداری شود.اگر در این جدول،از همان شماره ی مشتری های تعریف شده در جدول مشتریان استفاده کنید،این دو جدول به هم ارتباط می یابند.هر چند که در هر دو جدول،داده های تکراری وجود دارد(یعنی فیلد شماره ی مشتری)،اما این تکرار اجتناب ناپذیراست و در عوض،باعث می شودکه از تکرار بزرگتری که همان اطلاعات کاملجدول مشتری هاست،در جدول خرید مشتریان،جلوگیری شود.
حالا فرض کنید یک جدول دیگر هم داریدکه یکی از فیلدهای آن نام مشتریست اما فیلدشماره مشتری ندارد.آیا این جدول را هم می توان به جدول اولیوصل کرد؟بله.اگر فیلد نام مشتری در هر دو فایل یکسان تعریف شده باشد،می توان از این فیلد برای اتصال دو جدول داده ها استفاده کرد.بنابراین،فیلد کلید ما در این حالت،فیلد نام مشتری است.وقتی این دو جدول داده ها به هم مرتبط شوند، در حقیقت،به جدول دیگرهم وصل شده اند؛زیرا دو جدول دیگر نیز از طریق یک فیلد مشترک به هم متصل بودند.به این طریق ،هر سه جدول،از طریق فیلدهای دوبه دو مشترک به هم وصل شده اند.بنابراین لازم نیست که فیلد های ارتباط دهنده در هر سه جدول(یا بیشتر)،یکی باشند.بلکه فقط کافیست دو به دو یکی باشند.
چگونه یک پایگاه داده ها بسازیم؟
روش ساختن یک پایگاه داده های خوب را اولین باردر سالهای اولیه ی رواج یافتن رایانه ها یعنی حدود سال1960 م تبیین کرده اند و این اصول تا کنون تغییر چندانی نیافته است.البته،کار ایجاد پایگاه داده ها به مرور زمان پیشرفت بسیار زیادی کرده است.مثلادر روزگاران گذشته،دست بردن در ساختمان یک پایگاه داده ها،کار بسیار مشکل و حتی غیر ممکن بود و به همین دلیل،دست بردن در ساختمان پایگاه داده ها خیلی گران تمام می شدو برخی اوقات،این کار،6% به قیمت طراحی اولیه می افزود.اما امروزه ایجاد پایگاه داده ها با کمک یک عدد رایانه ویک برنامه ی پایگاه داده ها ی ارتباطی مانند اکسس بسیار سریع انجام می شود و دست بردن در ساختمان پایگاه داده ها نیز در هر لحظه ممکن ومیسراست.امروزه میتوان با اطلاعات کم و ناقص،کار را آغاز کرد و به مرور،ساختمان پایگاه داده ها و اجزای گوناگون آن و داده های داخل آن را تغیر داد تا به حالت ایده آل رسید.اما توصیه های کلی زیر را در مورد ساختن پایگاه داده ها در نظر داشته باشید.
1-کارهایی را که می خواهید با پایگاه داده هاانجام دهید معین کنید:
پیش از آغاز ایجاد یک پایگاه داده ها، باید تقریبا بدانیدکه از ایجاد آن چه انتظاری داری. دانستن این نکته، کار سختی نیست.قلم وکاغذی بر داریدوعمده کارهایی را که می خواهید با پایگاه داده های مورد نظر انجام دهید زیر هم بنویسید. این فهرست می تواند شامل کارهایی که هم اکنون می خواهید ونیز کارهایی که انتظار دارید بعد ها انجام دهید باشید . وقتی می گوییم کارهای عمده را بنویسید، یعنی بنویسید که می خواهید چه چیز هایی را در پایگاه داده ها وارد کنید وچه گزارشهایی را از آن
دریافت دارید.بنابراین ،مثلا یکی از عناوین فهرست شما می تواند این باشد:‹‹وارد کردن سفارش مشتری››؛اما لازم نیست جزییاتی مانند محاسبه جمع کلی صورتحساب ویا کسر مقدار تخفیف از مبلغ دریافتی را در این فهرست بگنجانید. اینها اعمال اصلی نیستند.
2-نمودار گردش عملیات را رسم کنید:
رسم نمودارعملیات یعنی این که مشخص کنید کدام عمل قبل از کدام عمل انجام می گیرد .تعیین این که اگر عمل خاصی انجام نشود، کدام عمل بعدی قابل انجام نخواهد بود ، بسیار مهم است.به این ترتیب ، جریان کار شناسایی می شود وبنابراین ، کاری که هر کس باید انجام دهد مثل پر کردن فرم خاص یا تایید کردن یک عمل خاص ، مشخص می گردد.
3-شناسایی داده های لازم:
وقتی دو مرحله قبل را انجام دادید تقریبا خواهید که به چه داده هایی که به چه داده هایی احتیاج دارید.مثلا می توانید تعیین کنید که در مورد هر مشتری ،چه داده هایی نیاز دارید ویا در مورد صدور صورت حساب فروش ، چه داده هایی را لازم دارید .این داده ها،پایه ایجاد پایگاه داده های شما هستند. بنابراین باید تا حد امکان بکوشیدتا فهرست کاملی از داده های مورد نظر را درآورید وزیر هم بنویسید.
4-گروه بندی داده ها:
در این مرحله، مشخص میکنید که داده ها چگونه باهم گروه بندی می شوند.مثلا شماره مشتری ،نام مشتری،نام خانوادگی مشتری،شماره تلفن مشتری،نشانی مشتری،داده های مرتبط به همهستندومیتواننددر یک گروه جای بگیرند.
پس از انجام کار گروه بندی باید چند فهرست داشته باشیدکه در زیر هر یک نام اجزای آن نوشته شده باشد.
5-سازماندهی داده ها:در این مرحله، تقریبا ساختمان جدولهای داده های موردنیاز برای برای یک پایگاه داده ها مشخص شده است.هرکدام از فهرستهایی که در مرحله قبل به وجود آورده ایدمی تواند
یک جدول دادها را تشکیل دهد.
در اکسس می توانید در هر مرحله که لازم شد. جدول جدید داده ها درست کنید ویاجدول های قبلی را دست کاری وتصحیح کنید.اما اصلاح مکررتوصیه نمیشود وبهتر است، ازهمان ابتدای کار طرحی تقریبی از آنچه را که روی کاغذ انجام میدهیدپیاده کنید.به این شکل،ازسردرگمی نجات می یابید.
6-ایجاد فرمها وگزارشها:
حال، جدول داده ها ایجاد شدهاست وشما در این مرحله شروع میکنید به ارتباط دادن آنها به یکدیگر وساختن فرمها وگزارشها.در این مرحله،ازماکروها وزبان ویژوال بیسیک هم استفاده میشود ورابطه کاربر نیز ساخته می شود.
7-آزمایش وتجدید نظر وتصفیه:
در این مرحله متوجه کمبودها شده ودر نکاتی تجدید نظر می کنید ودر برخی ودر برخی از داده ها، عناصر دیگری را که متوجه می شوید به درد نخواهد خورد وزایداست،حذف کنید.این مرحله آخر کار است ومعمولا،پس از تحویل پایگاه داده هابه مشتری ودر حین کار آن نیز تا مدتی باید این کار را انجام دهید تا پایگاه داده ها از هر جهت، احتیاجات کاربر را برآورد وبدون نقص شود.
کسانی که پایگاه داده ها راطراحی می کنند، معمولا وقت زیادی را برای تحقیق وتفحص درباره آنچه کاربران ومدیران می خواهند اختصاص می دهند.آنها جریان عادی کاری را که می خواهند برای آن پایگاه داده ها تهیه کنند مطالعه می کنند.
دسته بندی | کامپیوتر و IT |
بازدید ها | 22 |
فرمت فایل | doc |
حجم فایل | 458 کیلو بایت |
تعداد صفحات فایل | 68 |
بهینهسازی و پردازش پرس و جو
در این تحقیق ما به تکنیکهای بکار رفته توسط 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 ایجاد شده باشد، می توان از شاخص مستقیماً اشاره کرد.
دسته بندی | برنامه نویسی |
بازدید ها | 28 |
فرمت فایل | doc |
حجم فایل | 146 کیلو بایت |
تعداد صفحات فایل | 95 |
شرح زبان سی شارپ و قابلیت های تحت وب آن (دات نت)
مقدمه
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 بارگذاری میگردد.