فی گوو

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

فی گوو

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

دانلود مقاله آزمایشگاه پایگاه داده ها

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

 

 

 

آزمایش 1
آشنایی با محیطQUERY ANALYZER ، نحوه ایجاد پایگاه داده وجداول
پیش آگاهی
مقدمه :آشنایی با RDBMSها
از زمانی که در سال 1970مقاله آقای کادتحت عنوان "مدل رابطه ای داده ها برای بانک های اطلاعاتی اشتراکی بزرگ" منتشر شد ، زمان زیادی نمی گذرد. بعد از مطرح شدن این ایده پروژه تحقیقاتی تحت عنوان SYSTEM/Rدر IBM شکل گرفت که حاصل آن ایجاد اولین DBMS وزبان SQL بود. از آن زمان شرکت های مختلفی به تولیدDBMS هاپرداختندتا این که در سال1988،SQL-SERVER معرفی شد. علاوه بر این در سال 1986، SQL توسطANSI استاندارد شد. نسخه ای از این زبان را ، تحت عنوان TRANSACT-SQL استفاده می نماید. همان گونه که می دانید زبان SQL غیررویه ای است یعنی در آن تنها درخواست کاربرارائه می گرددوالگوریتم لازم برای اجرای آن توسط بخش هایی ازDBMS(بهینه ساز) تولید می گردد .
هرسیستم مدیریت پایگاه داده ای بر مبنای مدل رابطه ای ،یک RDBMS نامیده می شود .این سیستم هاازدو بخش عمده به شرح زیرساخته شده اند:
1- هسته :که کارهای مدیریتی را انجام می دهد.
2- فرهنگ داده ها(DataDictionary ) : که شامل اطلاعاتی در مورد عناصرواشیاء مختلف پایگاه داده ای تعریف شده می باشد ازقبیلsysobjectsکه مشخصات اشیاءمختلف تعریف شده درآن نگهداری می گردد یاsysindexes و syscolumns که مشخصات شاخص هاومشخصات ستون های تعریف شده در آن ها ذکر می گردد.

 

آشنایی با SQL-SERVERبه عنوان یک RDBMS
برای راهبری پایگاه داده ها، SQL-SERVERدو واسط گرا فیکی به نام های Enterprise Manager وQuery Analyzer را در اختیار قرار می دهد. دراین مرحله فرض می کنیم یک سرور ثبت شده وتعدادی شی Login وتعدادی پایگاه داده تعریف شده برروی آن داریم بنابراین ازمباحث مربوط به آنها فعلا چشم می پوشیم . علاوه بر این فرض می کنیم که سرور فوق در حال سرویس دهی است.Query Analyzer اولین واسطی است که به کمک آن می توانید پرس وجو های T-SQLوتوابع و روال های ذخیره شده را اجرا کنید . پس ازورودبهQuery Analyzer اطلاعات Login از شما خواسته می شود که می توانید از تایید اعتبار خود ویندوز استفاده کنیدو به این محیط وارد شوید. این محیط از دوپنجره اصلی تشکیل شده است. درپنجره سمت چپ با نام Object Browserمی توانید اشیایی از قبیل نام سروری که به آن متصل شده اید، پایگاه داده های موجود وبقیه اشیاء اصلی مورد استفاده درSQL-SERVER را مشاهده وویرایش کنید. در این قسمت اشیاء به صورت ساختار درختی نمایش داده می شوند. در هرسرور موجود حداقل چهارپایگاه داده زیر موجود است :
1-Master : شامل تمامی اطلاعات لازم برای مدیریت پایگاه، مانند پایگاه داده های تعریف شده ومشخصات کاربران و رویه های ذخیره شده سیستمی وپیام های خطاست. جداولی که در این پایگاه داده موجود است معمولاکاتالوگ سیستم نامیده می شود .
2- Model : یک الگو برای ساخت پایگاه داده های جدید است وهر شی موجود در آن ،در پایگاه داده های جدید ایجاد می شود. برای مثال اگر یک شناسه کاربر جدید در آن قرار دهید ،در تمامی پایگاه هایی که بعد ازاین ایجاد می شوند این شناسه هم وجود دارد .
3-Msdb : در نگهداری برنا مه های زمان بندی سیستم وJob ها وتاریخچه نسخه های پشتیبان کاربرد دارد .
4- Tempdb: محل موقتی برای اشیائی است که نیاز به فضای موقتی دارند .
در زیر پنجرهobject browser ،با کلیک بر روی تب Templates می توانید بهTemplate های موجود در مورد هر شی دسترسی داشته باشید . پنجره دیگر موجود در محیط Query Analyer پنجره پرس وجو است که از آن برای اجرای پرس وجو های تعاملی استفاده می شود .
برای اجرای اسکریپت ها (مجموعه هایی از دستورات ) باید یکی از پایگاه های داده ای موجود به عنوان پایگاه داده جاری انتخاب شود. برای این کار از دستورUSE، استفاده می شود. این پنجره از دو قسمت تشکیل شده است، که یکی برای ویرایش دستورات و دیگری برای نمایش نتایج به کار می رود. (قسمت اخیر بعداز اجرای یک اسکریپت قابل مشاهده است.)کاربر می تواند با استفاده از گزینهQuery، نحوه نمایش این خروجی ها را به حالت Gridیا Textتنظیم کند یا یک فایل را به عنوان محل ذخیره خروجی های Query تعریف نماید .

 

به ثبت رساندن وحذف وتغییر یک پایگاه داده جدید درSQL-SERVER
اصولا اطلاعات موجود در هر پایگاه داده در فایل ها ی آن پایگاه داده نگهداری می شوند. این امکان وجود دارد که فایل های مختلف ،گروه های مختلفی را تشکیل دهند که هر فایل به یکی از آن ها اختصاص داشته باشد در این صورت می توان اشیاء پایگاه داده را در یک فایل خاص یا فایل های یک گروه ذخیره کرد. علاوه بر این مثلا دراعمالی مانند پشتیبانی (backup) می توان به جای کل پایگاه داده ای، گروه های فایل اصلی را پشتیبانی کردیا بااعمال برنامه زمانی مورد نظر، هر یک از گروه هارامستقلاپشتیبانی کرد. برای پایگاه داده های تعریف شده در SQL-SERVER سه نوع فایل قابل تصور است :
1- فایل های Primary( باپسوند .mdf) :که حاوی اطلاعات راه اندازی پایگاه هستند وبه بقیه فایل های پایگاه داده ها اشاره دارند .
2- فایل های Secondary( باپسوند .ndf) : بقیه فایل های داده ای به جز فایل های داده ای اصلی در این گروه قرار می گیرند .
3- فایل های Log( باپسوند .ldf) : برای ثبت تراکنش های موجود در پایگاه به کار می روندو عضو هیچ گروه فایلی نیستند. برای بسیاری از پایگاه های داده ای معرفی گروه 1و3کافی است وممکن است پایگاه داده ای چندین فایل از نوع دوم داشته باشد یا هیچ فایلی از این نوع نداشته باشد. یک فایل نمی تواند عضو بیش ازیک گروه فایلی باشد وفایل های سیستم در گروه فایل Primary قرار می گیرند. (برای اطلاعات بیشتر در مورد نحوه استفاده از این امکان در عمل می توانید به مراجع SQL-SERVERمراجعه کنید .)

 

 

 

ایجاد جداول پایگاه داده
این جداول به منظور تعریف فیلدهای مورد استفاده در ایجاد یک پایگاه داده ای مورد استفاده قرار می گیرند که در قسمت پیوست ساختار کلی یک جدول آورده شده است .
درهرجدول پایگاه داده ای برای اطمینان از درستی مقادیر فیلدها انواع جامعیت داده ای، مورداستفاده قرار می گیرد که ازانواع آن می توان به موارد زیر اشاره کرد :
کلیداصلی(primarykey) :که شامل یک یاچندستون است که مقادیرموجود دردوسطر از ستون ها نمیتوانند یکسان باشند. همچنین کلید اصلی نمی تواند مقدارتهی بپذیرد .
کلید کاندیدا(unique) : مانند کلیداصلی است با این تفاوت که درستون های تعریف شده به عنوان کلید کاندیدا می تواند مقدار تهی هم وارد شود .
کلید خارجی(foreignkey) : برای ایجاد ارتباط بین داده های جداول پایگاه داده ای ، ازیک یا ترکیبی از چند ستون با عنوان کلید خارجی استفاده می شود به طوری که داده های یک جدول با مقادیرکلید اصلی جدول مرتبط با آن پرمی شود.
Check : مقادیر قابل پدیرش یک ستون توسط این محدودیت کنترل می شود .
Constraints : برای اعمال محدودیت های داده ای ، مانند کلیداصلی ،کلید خارجی و کلید کاندیدا وcheckمورد استفاده قرار می گیرد .
ستون های محاسباتی در تعریف جداول
این ستون ها عبارت به کار رفته برای محاسبه داده را به جای خودداده ذخیره می کنند و قواعد زیر را دارند :
• ستون های ارجاع شده در عبارت ستون محاسباتی باید در همان جدول باشند .
• ستون محاسباتی شامل subquery نیست .
• این ستون ها به عنوان جزئی از کلید یا اندیس به کار نمی روند .
• نمی توانند محدودیتی از نوع default داشته باشند .(چرا؟)
• در دستورات insert وupdate ارجاعی به آن ها نداریم .
مثال1 :
Create table author
(au_id1 int primary key clustered,
unique nonclustered, au_id2 int
au_degree smallint,
au_name char(16) not null,
au_family char(16) not null,
au_address char(30) null)
CONSTRAINT au_degree_chk check((au_degree>=0) and(au_degree<=100)
در جدول تعریف شده بالا ،برای هر نویسنده دو شماره ازنوع int تعریف شده که روی اولی شاخص خوشه ای و روی دومی شاخص غیرخوشه ای قرارگرفته است. علاوه بر این روی شماره دوم محدودیت یکتا بودن اعمال می شود. سومین ستون نیز به درجه نویسنده اشاره می کند که با checkروی آن محدودیت بازه ای اعمال می شود .

 


جدول های موقتی
این جداول زمانی که اتصال به سرورقطع شود از بین می روند. مهم ترین انواع جدول های موقتی مانند متغیرهاانواع عمومی و محلی هستند. تفاوت این دو نوع در این است که ازجداول سراسری همه کاربران سیستم می توانند استفاده کنندو با ## شروع می شوند. جداول محلی فقط برای کاربر سازنده خود قابل استفاده هستند و با # شروع می شوند. برای ایجاد این جداول از دستور CREATEاستفاده می شود :

 

CREAET TABLE #myTmpTable
(Name VARCHAR(30) NOT NULL ADDRESS VARCHAR(50))
از دستور SELECT ---INTO می توان برای تعریف و پرکردن یک جدول موقتی به صورت همزمان استفاده کرد .
Select Name,Cname INTO #myTmpTable
From STD AS S
INNER JOIN
CRS AS C
ON C.S#=S.S#

 

شاخص ها در SQL-Server
شاخص ها در SQL-Serverاشیاء خاصی هستند که این امکان را فراهم می آورند که بتوان بر اسا س مقادیر یک یا چند ستون به سرعت به سطر های یک جدول دسترسی پیدا کرد. SQL-Server، دو نوع شاخصClustered و Nonclustered رادر اختیار کاربر برای تعریف قرار می دهد .SQL-Server برای پیاده سازی شاخص ها از ساختار B-TREEاستفاده می کند که در آن برگ ها حاوی داده های واقعی هستند .
1- شاخص Clustered: دراین نوع شاخص ، داده ها واقعا از نظر فیزیکی مرتب می شوند. در این نوع اندیس برگ ها داده های واقعی هستند . همیشه با معرفی یک ستون به عنوان کلید اصلی به صورت خودکار روی آن یک شاخص Clustered ساخته می شود .
2- شاخص Nonclustered: در این نوع شاخص برگ ها بر مبنای ستون هایی که به عنوان شاخص تعریف شده اند مرتب می شوند ولی تفاوت آن با نوع قبلی این است که در صورتی که قبلا روی جدول شاخص Clusteredایجاد نشده باشد برگ های اندیس Nonclustered حاوی آدرس ذخیره تاپل(ونه خود تاپل ) متناسب با کلید شاخص شده است ودرغیراین صورت حاوی مقدار کلید شاخص دارمتناسب با آن تاپل هستند .
با توجه به توضیحات بالا رعایت نکات زیر توصیه می شود :
• برای ستون دارای شاخص Clusteredاز مقادیرحجم داراستفاده نکنید. زیرا علاوه بر اینکه زمان جستجو در ستون با شاخص Clusteredافزایش می یابد ، حجم ذخیره سازی شاخص های Nonclustered هم افزایش می یابد. (چرا ؟ )
نکته: سعی کنید ابتدا شاخصClustered را ایجا دکنید و بعد شاخص های Nonclustered راتعریف کنید . (چرا ؟)
تعریف شاخص:
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ ON filegroup ]
توضیح بعضی پارامترهای تعریف بالا:
• کلمه کلیدی Unique مشخص می کندکه مقادیر تکراری در شاخص غیرمجازند .
• ASCبیان کننده این است که می خواهیم شاخص به صورت صعودی ساخته شود .DESC نیز درخواست
نزولی بودن شاخص را بیان میکند .
• با استفاده از گزینه ON filegroup می توان یکی از گروه های فایلی را به عنوان محل ذخیره شاخص معرفی کرد .
مثال 2: فرض کنید می خواهیم شاخصی با نام Snumindex را روی ستون شمار ه دانشجویی به صورت نزولی در جدول STD ایجاد کنیم :
Create clustered index Snumindex on STD(S# DESC )
On Primary
سوال : فرض کنید درخواست های زیادی مطرح می شود که در آن ها معمو لا در گزینه Where سوال روی شماره دانشجویی های پایین مطرح می شود آیاحذف کردن این اندیس می تواند زمان پاسخگویی ر ابه طور نسبی افزایش دهد؟
تغییر یک جدول

 

ALTER TABLE author
ADD column_b INT IDENTITY اضافه کردن یک ستون با محدودیت کلید اصلی
CONSTRAINT column_b_pk PRIMARY KEY,

 

/* Add a column with a constraint to enforce that */
/* nonnull data is in a valid phone number format. */
column_d VARCHAR(16) NULL
CONSTRAINT column_d_chk
CHECK
(column_d IS NULL OR
column_d LIKE "[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]" OR
column_d LIKE
"([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"),

 

/* Add a nonnull column with a default. */
column_e DECIMAL(3,3)
CONSTRAINT column_e_default
DEFAULT .081
توجه : برای انجام آزما یش ها سینتکس دستورات create database، Alter database، create table،Alter table و انواع داده ای موجود در ضمیمه را مطالعه کنید.

 

 

 


دستور کار:
بخش اول-آشنایی با Query Analyzer ونحوه اجرای دستورات T-SQL
1- بعد از loginکردن با نام عبوری که به شما داده می شود و روی سروری که به شما معرفی می شود وارد محیط Query Analyzer شوید .
2- روی سروری که به آن Loginکرده اید کلیک کنید وپایگاه داده های موجود روی این سرور را مشاهده کنید .چه پایگاه داده هایی روی این سرور به ثبت رسیده است؟
3- به کمک دستور exec رویه های ذخیره شده sp_help (برای پایگاه داده pubs ) و sp_help dbرا اجرا کنید . در پنجره results خروجی هایی هر کدام را مشاهده می کنید . در مورد عملکرد آن ها توضیح دهید؟
( این دوازرویه های ذخیره شده (stored procedure) سیستمی هستند که بعدا با نحوه ایجاد ومدیریت این رویه ها آشنا می شوید .)
4- الف- اسکریپت زیر را به یکباره اجرا کنید ویک فایل را به عنوان محل ذخیره خروجی ها تعریف کنید . ( دسته مجموعه ای از دستورات T-SQL است که همگی به یکباره به موتور پایگاه ارسال می شوند و کامپایل وبهینه سازی و اجرا می شوند. اسکریپت نیزمجموعه ای از یک یا چند دسته است که به صورت گروهی ذخیره می شوند. از اسکریپت ها برای مثلا بخشی از کار بارگذاری داده ها (Data overloading )یا نگهداری پایگاه داده استفا ده می شود. مثلا اگر نیاز به انجام چندکارمستقل باشد، اسکریپتی از چنددسته می نویسیم و برای مشخص کردن دسته ها از هم از Goدر بین آنها استفاده می کنیم. بدین ترتیب خطاهای روی هر دسته اعم از کامپایل یاخطاهای زمان اجرا ، اجرای دسته های قبلی وبعدی را مختل نمی کند . )
Use pubs
Select * from authors
Go
Use Northwind
Select EmployeeID from Employees
where City='London'

 

ب- در دسته دومEmployeeID را بهEmployee تغییردهیدواین اسکریپت رااجرا کنید . آیاتغییر یک دسته دراجرای کل اسکریپت تاًثیر گذار است ؟ توضیح دهید.
بخش دوم - ایجاد یک پایگاه داده جدید
1- اسکریپتی برای ایجاد پایگاه داده ای بانا م Testبا مشخصات زیر اجرا کنید :
• یک فایل اصلی با مشخصات اندازهMB 20 باحداکثررشد مساوی 100MBو با رشد 2MBدرهربارودر گروه فایل اصلی
• یک فایل ثانویه با مشخصات اندازه 5MBحداکثر اندازه 10MBوبا رشد 1MBو در گروه فایلی با نام test واین گروه فایلی را گروه فایلی پیش فرض قرار دهید .
• یک فایل ثبت تراکنش(log file ) با مشخصات اندازه 10MB حداکثر اندازه 30MBوبا رشد 20%
2- رویه های ذخیره شدهsp_helpfilegroup وsp_helpfile را روی پایگاه داده ای که ایجاد کرده اید اجرا کنید . چه خروجی هایی مشاهده می کنید ؟
3- اسکریپتی را اجرا کنید که گروه فایلی test وفایل های آن را حذف کند . (اصولا برای حذف هر گروه فایلی ابتدا گروه فایلی دیگری رابه عنوان گروه فایل پیش فرض تعریف میکنیم در صورتی که گروه فایلی حذف شوند پیش فرض باشد سپس تمام فایل های آن گروه فایلی وبعد خودآن را حذف می کنیم .)
4- پایگاه داده فوق را به registration تغییر نام دهید .(از رویه sp_renamedb استفاده کنید .)
5- کلیه جداول پایگاه داده registrationراکه درزیرمشخص شده، باتوجه به محدودیت های موردنظرتعریف کنید .(کلیه اسکریپت های نوشته شده را ذخیره کنید .)
جداول موردنیازدرآزمایشگاه :

 

)STD ( فایل اطلاعات دانشجو
قیود کلید خارجی
و ارجاع کلید اصلی امکان null نوع داده ای نام فارسی نام لاتین
1- ازنوع clusteredتعریف شود،
2- رقم اول هرشماره از1تا9 ،بقیه ارقام از0تا9 × Int شماره دانشجویی S#
Varchar(16) نام Name
Varchar (20 فامیل Family
رقم اول بین1تا9 ،رقم دوم بین0تا9 Tinyint رشته تحصیلی Field
F:زن , M:مرد
Check (sex=’M’ or sex=’f’) Char(1)
جنسیت
)F-M) Sex
× Dec(5,2) معدل کل Gpa
× Varchar(40) آدرس Address
Int کدشهر Citycode
رقم اول هرشماره از1تا9 ،بقیه ارقام از0تا9 × Int شماره تلفن TelNo

 

1-ازنوع uniqueتعریف شود،
-2رقم اول هرشماره از1تا9 ،بقیه ارقام از0تا9
Bigint شماره شناسایی ملی Ssno
Datetime تاریخ تولد Birthdate

 

فایل درس ( CRS )
قیود کلید خارجی
و ارجاع کلید اصلی امکان null نوع داده ای نام فارسی نام لاتین
رقم اول هرشماره از1تا9 ،بقیه ارقام از0تا9 × Char(7) شماره درس C#
Varchar (30) نام درس Cname
Dec(2,1) تعداد واحد درس Unit
Check
(0=<passgrade <=20)
Dec(5,2) حداقل نمره قبولی
دردرس Passgrade
‘p’= وعملی‘t’=تئوری
Check(Crstype=’t’ or
crstype =’p’)
Char (1) نوع درس
(تئوری – عملی) Crstype

 

) STDTRM فایل ترم دانشجو (
قیود کلیدخارجی
و ارجاع کلید اصلی امکان null نوع داده ای نام فارسی نام لاتین
رقم اول بین3تا9 ،رقم دوم وسوم بین0تا9 ورقم چهارم بین1تا3
×

Char(4) شماره ترم TrmNo
STD(S#) × Int شماره دانشجویی S#
× Dec(5,2) معدل ترم TrmGpa

 

) REG ( فایل ثبت نام
قیود کلید خارجی
و ارجاع کلید اصلی امکان null نوع داده ای نام فارسی نام لاتین
رقم اول بین3تا9 ،رقم دوم وسوم بین0تا9 ورقم چهارم بین1تا3
STDTRM(S#,TRMNO)
×

Char(4) شماره ترم
TrmNo

STD(s#)
STDTRM(S#,TRMNO) × Int شماره دانشجویی S#
CRS(c#) × Char(7) شماره درس C#
Check(0=<Grade<=20) × Dec(5,2) نمره دردرس Grade

 

) PREREQ ( فایل پیش نیاز
قیود کلید خارجی
و ارجاع کلید اصلی امکان null نوع داده ای نام فارسی نام لاتین
CRS(c#) × Char(7) شماره درس C#
CRS(c#) ×
Char(7) شماره درس
پیش نیاز Cp#

 

Check(1=<seqno <=5) ×
Tiny int شماره چندمین
پیش نیازیا هم نیاز SeqNo

 

) COREQ ( فایل هم نیاز
قیود کلید خارجی
و ارجاع کلید اصلی امکان null نوع داده ای نام فارسی نام لاتین
CRS(c#) × Char(7) شماره درس C#
CRS(c#) ×
Char(7) شماره درس
هم نیاز Cc#
Check(1=<seqno<=5) ×
Tiny int شماره چندمین
پیش نیازیا هم نیاز SeqNo

 

) CODEFILE ( کد فایل
قیود کلید خارجی
و ارجاع کلید اصلی امکان null نوع داده ای نام فارسی نام لاتین
× varchar(8) رشته تحصیلی Field
× Varchar(4) نوع Type
×
Varchar(30) شرح Desc

 

سوال :
1- آیا روی هر جدول محدودیتی روی تعداد ایندکس های قابل تعریف وجود دارد؟
2-آیا ساخت فهرست به طور نامحدود مشکلی برای سیستم (ازنظر زمان عملیات ) روی هریک ازعملیات select,insert,delete,update ایجاد می کند؟

 

بخش سوم – آشنایی با نحوه حذف یک پایگاه داده وجداول
برای حذف اشیاءیک پایگاه داده از دستور dropاستفاده می کنیم.
۱- پایگاه داده جدیدی با نام test تعریف کرده وجدول مثال زده شده در قسمت پیش مطالعه را برای آن تعریف کنید .
۲- با استفاده از دستور Alter table ستون نگهدارنده SSNO را(از جدول STD) حذف کنید .با چه خطایی برخورد می کنید .چرا؟
۳- بعد از حذف محدودیت ایندکس گذاشته شده بر روی SSNO ,خود SSNOراحذف کنید .
۴- اطلاعات دانشجویی مجازی را در جدول STDوارد کنید .
۵- اطلاعات دروس مجازی با شماره های 1024345و1025123و861026را در جداول CRS وPREREQوCOREQوارد کنید . (فرض کنید درس 1024345پیش نیازدرس 1025123وهم نیاز درس861026 است .)
۶- سعی کنید درس 1027456را برای تنها دانشجوی موجود در جدول STDدر ترم 3832ثبت نام کنید .آیا این کار امکان پذیر است چرا؟ با این کار کدام یک از قواعد جامعیت داده ها نقض می شود؟ آیا در این مرحله امکان ثبت نام درس1025123 برای این دانشجو امکان دارد ؟
۷- ستون حذف شده SSNOر ابه جدول STDبا محدویت کلید ثانویه یا ایندکس غیر خوشه ای بودن و غیر قابل تهی بودن برای این جدول تعریف کنید ؟با چه خطایی برخورد می کنید؟
۸- با استفاده از عبارت WITH NOCHECKمرحله قبل را تکرار کنید .
۹- حال با استفاده از دستور update یک شماره شناسایی ملی برای دانشجوی مورد نظر وارد کنید .
۱۰- درس شماره 1024345را برای دانشجوی فوق ثبت نام کنید؟
۱۱- در این مرحله سعی کنید جدول STDراdropکنید ؟آیا این کار امکان پذیر است؟چرا؟
۱۲- تمامی رکوردهای موجوددرجداول STDو REGراحذف کنید؟ این کار به چه ترتیبی باید انجام شود؟
13- با استفاده از فرمان Alter tableدو ستون با عنوان های TotpassunitوTotregunitکه به ترتیب نگهدارنده تعداد کل واحد گذرانده وتعداد کل واحد اخذ شده هستند را به جدول STDاضافه کنید .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ضمیمه آزمایش اول:
تمامی مطالب این ضمیمه بر گرفته از Sql-Server 2000 Online booksمی باشد.در صورت نیاز می توانید به این منبع هم مراجعه کنید.
1-CREATE DATABASE
Creates a new database and the files used to store the database
Syntax
CREATE DATABASE database_name
[ ON
[ < filespec > [ ,...n ] ]
[ , < filegroup > [ ,...n ] ]
]
[ LOG ON { < filespec > [ ,...n ] } ]
< filespec > ::=
[ PRIMARY ]
( [ NAME = logical_file_name , ]
FILENAME = 'os_file_name'
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] ) [ ,...n ]
< filegroup > ::=
FILEGROUP filegroup_name < filespec > [ ,...n ]
Arguments
database_name
Is the name of the new database. Database names must be unique within a server and conform to the rules for identifiers. database_name can be a maximum of 128 characters, unless no logical name is specified for the log. If no logical log file name is specified, Microsoft® SQL Server™ generates a logical name by appending a suffix to database_name. This limits database_name to 123 characters so that the generated logical log file name is less than 128 characters.
ON
Specifies that the disk files used to store the data portions of the database (data files) are defined explicitly. The keyword is followed by a comma-separated list of <filespec> items defining the data files for the primary filegroup. The list of files in the primary filegroup can be followed by an optional, comma-separated list of <filegroup> items defining user filegroups and their files.
n
Is a placeholder indicating that multiple files can be specified for the new database.
LOG ON
Specifies that the disk files used to store the database log (log files) are explicitly defined. The keyword is followed by a comma-separated list of <filespec> items defining the log files. If LOG ON is not specified, a single log file is automatically created with a system-generated name and a size that is 25 percent of the sum of the sizes of all the data files for the database.
All databases have at least a primary filegroup. All system tables are allocated in the primary filegroup. A database can also have user-defined filegroups. If an object is created with an ON filegroup clause specifying a user-defined filegroup, then all the pages for the object are allocated from the specified filegroup. The pages for all user objects created without an ON filegroup clause, or with an ON DEFAULT clause, are allocated from the default filegroup. When a database is first created the primary filegroup is the default filegroup. You can specify a user-defined filegroup as the default filegroup using ALTER DATABASE:
ALTER DATABASE database_name MODIFY FILEGROUP filegroup_name DEFAULT
Each database has an owner who has the ability to perform special activities in the database. The owner is the user who creates the database. The database owner can be changed with sp_changedbowner.
To display a report on a database, or on all the databases for an instance of SQL Server, execute sp_helpdb. For a report on the space used in a database, use sp_spaceused. For a report on the filegroups in a database use sp_helpfilegroup, and use sp_helpfile for a report of the files in a database.

 

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

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

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


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


دانلود مقاله آزمایشگاه پایگاه داده ها

دانلود مقاله الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی

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

 

 

 

 

 

 


مقدمه
پیشرفت در تکنولوژیهای شبکه و پایگاه داده در دهه های اخیر منجر به ایجاد سیستم های پایگاه داده توزیع شده گشته است .یک سیستم پایگاه داده توزیع شده مجموعه ای از سایتها می باشد که از طریق شبکه به هم متصل شده اند که هر کدام از سایت ها پایگاه داده مخصوص به خود دارد اما می توانند با یکدیگر کار کنند بنابراین هر کاربری در هر سایتی می تواند به همه داده های موجود در شبکه دسترسی داشته باشد درست مانند اینکه همه داده ها در سایت کاربر ذخیره شده است .
دغدغه اصلی سیستم های پایگاه داده توزیع شده قطعه قطعه کردن و تخصیص پایگاه داده اصلی می باشد واحد قطعه داده می تواند یک فایل باشد که در این حالت موضوع تخصیص همان تخصیص فایل خواهد بود مشکل تخصیص داده یک مسئله NP-complete می باشد بنابراین نیاز به هیوریستیکهای سریع برای تولید راه حل های موثر می باشد علاوه بر اینها تخصیص بهینه اشیا پایگاه داده به طور شدید بستگی به استراتژی اجرای پرس وجو که به وسیله پایگاه داده توزیع شده پیاده سازی شده دارد .
هزینه اصلی در اجرای پرس و جو در سیستمهای پایگاه داده توزیع شده هزینه انتقال داده هنگام انتقال یک رابطه در موقع درخواست پرس و جو از یک سایت و انتقال آن از یک سایت متفاوت می باشد[2] . هدف اصلی الگوریتم های تخصیص داده تعیین نسبت دادن فرگمنتها به سایتهای مختلف برای کمینه کردن هزینه انتقال داده در اجرای یک مجموعه از پرس و جو ها می باشد که معادل کمینه کردن زمان متوسط اجرای پرس و جو می باشد که اهمیت اصلی در محیط های توزیع شده و پایگاه داده چند رسانه ای دارد .

 

الگوریتم های استاتیک :
مسئله تخصیص داده به طور کلی یک مسئله NP-complete می باشد و نیازمند هیوریستکهایی میباشد که راه حل سریع و با کیفیت بالا تولید کند. گسترش یک هیوریستیک موثر بستگی به استراتژی اجرای پرس و جویی دارد که توسط سیستمهای پایگاه داده توزیع شده بکار گرفته می شود که به این دلیل است که استراتژی مختلف اجرای پرس و جو الگو های مختلف انتقال داده متفاوت دارند[10] . الگوریتم تخصیص داده پارامترهای زیر را به عنوان ورودی می گیرد : 1 – گراف وابستگی قطعه داده 2- هزینه انتقال واحد داده ای بین سایتها 3 – محدودیتهای تخصیص روی تعداد قطعه داده که می تواند به سایت تخصیص داده شود 4 - تعداد تکرار اجرای پرس و جو از سایتها[4]
گراف وابستگی قطعه داده یک گراف بدون سیکل جهت دار می باشد که در ریشه آن سایت اجرای پرس و جو قرار دارد و سایر نودها نودهای قطعه داده می باشد که ممکن است توسط پرس و جو مورد دسترسی قرار گیرد و این گراف وابستگی قطعه داده وابستگی بین قطعه داده و مقدار داده ای که بایستی موقع اجرای پرس و جو منتقل شود را مدل می کند .

 


شکل 1 : گراف وابستگی قطعه داده

 

الگوریتم ژنتیک

 

فرض کنید ri,j نشان دهنده نیازمندی سایت i به قطعه داده j می باشد ، و هر قطعه داده i بوسیله اندازه اش مشخص می شود که با si نشان داده می شود و ti,j نشان دهنده هزینه ای است که سایت i متحمل می شود تا به قطعه داده که در سایت j وجود دارد دسترسی پیدا کند مشکل تخصیص در سیستم های پایگاه داده توزیع شده پیدا کردن راه حلی است که داده ها طوری در سایت های موجود استقرار یابند که برای دسترسی به آنها کمترین هزینه را متحمل شویم . این بدین معناست که ما عمل جایگزینی
P = {p1, p2, p3,..,pj, ...,pn} ( که pj=i نشان دهنده قطعه داده j است که در سایت i واقع شده است) برای n قطعه داده پیدا می کنیم بنابراین هر سایتی از ظرفیت خودش سرریز نمی شود و
ri,j sj <= ci,j i | 1<=i<=m و ri,j ti,pj کمینه می شود.
با محدود کردن استفاده از نیازمندیهای ماتریس و هزینه انتقال صفر مسئله تخصیص پایگاه داده توزیع شده به مسئله bin packing تبدیل می شود که یک مسئله NP-complete می باشد.
الگوریتم ژنتیک یک تکنیک جستجوی تطابقی می باشد که بر پایه اصول و مکانیزمهای انتخاب طبیعی و survival of the fittest از سیر تکاملی تدریجی می باشد با شبیه سازی سیر تکاملی طبیعی الگوریتم ژنتیک می تواند به طور موثر حوزه مسئله را جستجو کند و به راحتی مسائل مشکل را حل کند . الگوریتم ژنتیک با تولید یک population اولیه شروع به کار می کند ، P (t = 0) ، و هر کدام از اعضای خود را با تابع هدف ارزیابی می کند تا موقعی که شرایط پایانی فراهم نشود یک قسمت از population انتخاب ، ارزیابی و برگردانده میشود به population.[12]
الگوریتم ژنتیک برای مسئله تخصیص داده به صورت زیر می باشد :
1- population را مقداردهی اوایه کن هر کدام از population های انفرادی اتصال نمایش دودویی تخصیص تصادفی اولیه هر قطعه داده می یاشد.
2- Population را ارزیابی کن.
3- تعداد generation=0
4- تا وقتی که no of generation < MAX GENERATION انجام بده
5- Individual ها را از population بعدی انتخاب کن
6- Crossover و Mutation را برای Individual ها انتخاب شده انجام بده
7- Population را ارزیابی کن
8- تعداد generation را یکی اضافه کن
9- اتمام حلقه While
10- تخصیص نهایی را با انتخاب fittest individual مشخص می کند اگر تخصیص نهایی قابل امکان نباشد سایتی که از نظر قطعه داده بار اضافی دارد بار آن را به سایتی منتقل می کند که کمترین هزینه انتقال را دارد .
الگوریتم ژنتیک نسبت به استفاده از هیوریستیک حریصانه روی مسئله اختصاص قطعه داده با سایزهای مختلف کارایی بیشتری دارد . هیوریستیک حریصانه زمان و تلاش زیادی برای پیاده سازی نیاز دارد در حالیکه الگوریتم عمومی ساده می باشد .[12]

 

الگوریتم Simulated Evolution :
تفاوت اصلی الگوریتم ژنتیک با الگوریتم Simulated Evolution این است که اولی روی crossover دارد که یک مکانیزم احتمالی می باشد و که برای تبادل اطلاعات بین راه حلها برای شناسایی بهترین راه حل مناسب می باشد در حالیکه دومی از mutation به عنوان مکانیزم جستجوی اولیه استفاده می کند. علاوه بر اینها در شمای مطرح شده نمایش chromosomal بر پایه مشکل داده می باشد و راه حل با استفاده از هیوریستیک کدگذاری ( هیوریستیک نگاشت ) به منظور نگاشت از حوزه مسئله به حوزه راه حل تولید شده است . این الگوریتم به صورت زیر است :[7]
1- اولین chromosome را براساس مسئله داده تولید کن و این chromosome را برای تولید population اولیه تغییر بده.
2- از هیوریستیک نگاشت برای تولید راه حل برای هر chromosome استفاده کن.
3- راه حل بدست آمده را ارزیابی کن
4- تعداد generation=0
5- تا وقتی که no of generations < MAX GENERATION انجام بده
6- Chromosome ها را برای population بعدی انتخاب کن
7- برای این مجموعه کروموزوم ها crossover و mutation انجام بده
8- از هیوریستیک نگاشت برای تولید راه حل برای هر chromosome استفاده کن.
9- راه حل بدست آمده را ارزیابی کن
10- تعداد generation ها را یکی اضافه کن
11- پایان حلقه While
12- بهترین راه حل پیدا شده تاکنون را به خروجی ببر

 

هیوریستیک نگاشت
برای هر کروموزوم یک راه حل با تخصیص قطعه داده j با الویت بالا برای سایت i پیدا می کنیم طوریکه u’i j برای تمام u’x j, 1<x <m کوچکترین باشد. اگر حد تخصیص موثر برای یک ژن موجود در قسمت a کروموزوم برای یک سایت فراتر رود ما این قطعه داده را به سایتی اختصاص می دهیم که u’ij اش کمترین مقدار بعدی ( هزینه تخصیص قطعه داده j به سایت i ) برای تمام u’yj, 1< y <m, y ≠ x باشد.این واقعیت که هر قطعه داده به یک سایت تخصیص داده می شود گارانتی می شود برای اینکه هر بار چک می شود حد تخصیص کلی بزرگتر یا مساوی تعداد قطعه های داده برای هر نسل از کروموزوم ها باشد. سپس می توانیم این فرایند را برای هر قطعه داده با الویت بالا بین قطعه داده های دیگر که هنوز به سایتی تخصیص داده نشده ادامه پیدا می کند.[9]

 

الگوریتم The Mean Field Annealing (MFA) :
تکنیک Mean Field Annealing ویژگی محاسباتی بهم پیوسته شبکه عصبی Hopfield را با
simulated annealing ترکیب می کند .MFA ابتدا برای حل مشکل فروشنده دوره گرد به جای استفاده از الگوریتم HHN که نمی توانست مسئله با اندازه بزرگ را حل کند مطرح گردید MFA یک راه حل عمومی است که می تواند برای حل مسئله های بهینه سازی ترکیبی مختلف استفاده شود.

 


شبکه عصبی Hopfield

 


الگوریتم MFA به صورت زیر است :
1. temperature اولیه را بدست آور قرار بده T=T0
2. میانگین spin ها را مقداردهی اولیه کن s = [s00, s01, . . . , sk−1,m−1 هر si j با یک عدد تصادفی بین 0 و 1 مقداردهی اولیه می شود
3. تا وقتی که temperature در بازه cooling می باشد انجام بده
4. تا وقتی که E کاهش می یابد انجام بده
5. قطعه داده i را به صورت تصادفی انتخاب کن
6. Mean field ، spin ها را در ردیف i محاسبه کن برای مثال : Φi j , ∀ j
7. مجموع روبرو را محاسبه کن: ∑eΦij/T
8. مقدار spin جدید را در ردیف i محاسبه کن
9. تغییرات انرژی را به خاطر این بروزرسانی های جدید محاسبه کن
10. پایان حلقه While
11. temperature ، T را مطابق با زمانبندی cooling بروز کن
12. پایان حلقه While
13. تخصیص نهایی را با تخصیص هر قطعه داده به سایت با توجه به مقدار spin بزرگ مشخص کن . اگر تخصیص نهایی قابل امکان نباشد سایتی که قطعه داده اضافی دارد این قطعه داده را به سایتی منتقل کن که کمترین هزینه را داشته باشد.[3]

 


الگوریتم تخصیص داده جستجوی تصادفی همسایگی
ایده اصلی در الگوریتم جستجوی همسایگی تولید یک راه حل اولیه با کیفیت مناسب می باشد سپس الگوریتم به طور احتمالی مطابق با برخی همسایگی های از قبل تعریف شده ، راه حل های مجاور در فضای جستجو را انتخاب و آزمایش می کند که آیا از حالت قبل بهتر است یا نه ، اگر راه حل جدید بهتر باشد الگوریتم از این راه حل اقتباس می کند و جستجو را در همسایگی جدید آغاز می کند در غیر اینصورت الگوریتم نقطه جدیدی را انتخاب می کند الگوریتم کار خود را موقعی به اتمام می رساند که یا تعداد قدمهای جستجوی آن به یک مقدار مشخص برسد و یا اینکه بعد از تعدادی قدم بهبودی حاصل نشود کیفیت راه حل در الگوریتم جستجوی همسایگی بطور شدیدی بستگی به راه حل همسایگی دارد الگوریتم برای مسئله تخصیص داده به صورت زیر می باشد:
1. از Divisive-Clustering برای پیدا کردن تخصیص اولیه Initial Alloc استفاده کن
2. Best Alloc = Initial Alloc
3. New Alloc = Best Alloc; iteration = 0
تکرار کن
4. searchstep = 0; counter = 0
تکرار کن
5. به طور تصادفی دو سایت از Initial Alloc انتخاب کن
6. به طور تصادفی دو قطعه داده از هر سایت انتخاب کن
7. این دو قطعه داده را با هم تبادل کن
8. اگر هزینه کاهش پیدا کرد آنگاه
خود را با این تبادل انطباق بده و counter را مساوی صفر قرار بده
در غیر این صورت undo کن و counter را یکی اضافه کن
تا وقتی که ++searchstep > MAXSTEP OR counter > MARGIN
9. اگر cost(New Alloc) < cost(Best Alloc) آنگاه
Best Alloc = New Alloc
10. دو قطعه داده از دو سایت مجزا که به طور تصادفی از New Alloc انتخاب شده اند را با هم تبادل کن
تا وقتی که iteration > MAXITERATION [10]
به طور کلی SE و GA راه حلهای بهتری نسبت به RS و MFA تولید می کنند الگوریتم RS پیچیدگی زمانی کمتری دارد بنابراین الگوریتم سریعی می باشد ولی الگوریتم SE کند می باشد برای حوزه هایی که بایستی سریع عمل کنیم و جواب بهینه مدنظر نمی باشد الگوریتم RS گزینه مناسبی می باشد ولی اگر کارایی و کیفیت راه حل اهمیت داشته باشد الگوریتم GA گزینه مناسب می باشد بنابراین داشتن همه این الگوریتم ها در سیستم پایگاه داده توزیع شده باعث می شود که راه حلهای متنوع داشته باشیم و این راه حلها یک trade-off بین پیچیدگی و کیفیت می باشد.
در [10] برای تخصیص قطعه داده یک متدی طراحی شده که نیازمندیهای خوشه کردن سایتها و تعیین تخصیص قطعه داده در سیستمهای پایگاه داده توزیع شده را برطرف می کند علاوه بر اینها هزینه ارتباط بین سایتها را کاهش می دهد و کارایی را در محیط سیستمی شبکه غیرمتجانس افزایش می دهد . متد خوشه بندی به این دلیل استفاده شد که سایتها را در یک خوشه گروه بندی کنند که این کار باعث کاهش هزینه ارتباط بین سایتها در فرآیند تخصیص داده می شود . متد تخصیص قطعه داده با افزایش قابلیت در دسترس بودن و قابلیت اطمینان ( کپی های چندگانه از قطعه های داده وجود دارد ) کارایی سیستم را افزایش می دهد.

 

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

 

الگوریتم شمارنده ساده
در این الگوریتم با استفاده از یک شمارنده که تعداد دسترسی از هر سایت به هر بلاک را نگهداری می کند استفاده می شود برای اینکه مشخص شود کی تخصیص مجدد مورد نیاز می باشد شمارنده برای هر بلاک فقط در یکی از سایتهای موجود در سیستم پایگاه داده توزیع شده نگهداری می شود
برای مثال فرض کنید پارتیشن A در سایت 1 قرار دارد در سیستمی با تعداد سایتهای N ، سایت 1 N شمارنده برای پارتیشن A نگهداری می کند . الگوریتم شمارنده ساده سایتهایی که به این قطعه داده دسترسی پیدا می کنند را رتبه بندی می کند و بهترین سایت را انتخاب می کند این الگوریتم به صورت زیر می باشد:[3]

 

 

 

 

 

 

 

 

 

الگوریتم شمارنده ساده :
1. یک فرایند state در بازه های زمانی منظم شمارنده ها را برای هر بلاک چک میکند
2. سطرهای یک بلاک در صورتی که شمارنده مربوط به آن بلاک در یک سایت بیشتر از سایتی باشد که بلاک هم اکنون در آن قرار دارد به آن سایت منتقل می شود
3. بعد از چک کردن شمارنده بلاک ها ، فرایند state قبل از چک کردن دوباره شمارنده ها برای تعداد t-check از تراکنشها که قرار است کامل شوند صبر می کند

 

شکل 2 : الگوریتم شمارنده ساده

 

در این الگوریتم فرایند وضعیت فرایندی می باشد که برای هر تراکنش اطلاعات آماری مانند توان عملیاتی و میانگین زمان پاسخ و قسمتی از تراکنش کهنیازمند دسترسی به داده ای که در سایت دیگر ذخیره شده را نگهداری می کند بایستی توجه داشته باشیم که مقدار t-check به اندازه کافی کوچک باشد تا سیستم در مقابل تغییرات بار واکنش سریع نشان دهد همچنین باید به اندازه کافی بزرگ باشد تا این تعداد تکرار دسترسی به یک بلاک که در یک سایت مشخص قرار دارد به یک مقدار ثابت برسد و بتوان از روی آن تصمیم گیری کرد که بلاک باید به کدام سایت منتقل شود . مشخص کردن اینکه آیا یک بلاک بایستی به سایت دیگر منتقل شود یا نه یک تصمیم محلی می باشد به همین دلیل شمارنده هر بلاک در سایتی قرار داده می شود که بلاک هم در همان سایت قرار دارد . این الگوریتم بر الگوریتم های تخصیص داده استاتیک برتری دارد.[3]

 

الگوریتم Load Sensitive counter :
الگوریتم شمارنده ساده وقتی که توزیع قطعه های داده در سایتها متعادل باشد خوب کار می کند ولی اگر یک سایت به تعداد بلاک های زیادی دسترسی پیدا کند این الگوریتم همه این بلاکها را در این سایت قرار می دهد و باعث می شود بخاطر بار اضافی پردازنده و دیسک موجود در این سایت کارایی پایین بیاید الگوریتم Load Sensitive counter با در نظر گرفتن شرایط بار این مشکل را حل می کند بدون این الگوریتم اگر بلاکهای زیادی در یک سایت قرار گیرد همزمانی اجرای بین تراکنشها کاهش پیدا می کند و توان عملیاتی کاهش پیدا می کند . این الگوریتم بر الگوریتم شمارنده ساده و الگوریتم های استاتیک برتری دارد و به صورت زیر می باشد:[5]

 




الگوریتم Load Sensitive counter :
1. هم بر تعداد دسترسی ها و هم بر بار (توازن داده) در سیستم نظارت کن
2. اینکه بلاک داده بایستی منتقل شود یا نه مانند الگوریتم شمارنده ساده می باشد با این تفاوت که بلاک ها در صورتی منتقل می شوند که مقدار بلاک ذخیره شده در آن سایت از یک مقدار آستانه ای بالاتر نرود . پارامترهای الگوریتم عبارتند از : مقدار بلاک داده بیشینه ای که یک سایت می تواند در خود ذخیره کن و مقدار آستانه ای بار
شکل 3 : الگوریتم Load Sensitive counter

 

الگوریتم Incremental
چهارچوب رشد افزایشی موقعی فراخوانی می شود که کارایی سیستم از یک آستانه ای که توسط مدیر سیستم پایگاه داده مشخص می شود بالاتر رود . در این الگوریتم برای اینکه به یک وضعیت قابل قبول برسیم سرورهای جدیدی در سیستم پایگاه داده توزیع شده معرفی می شود با معرفی هر سرور جدید تخصیص مجدد داده جدید برای سیستم محاسبه می شود این فرایند به طور تکراری اجرا می شود تا موقعی که به یک کارایی قابل قبول برسیم یا اینکه تعداد سرور ها با تعداد رابطه ها در سیستم پایگاه داده توزیع شده یکسان باشد .
در یک سیستم پایگاه داده توزیع شده با افزایش بار کاری به سرورهای جدیدی نیاز پیدا می شود الگوریتم Incremental هیوریستیکهای تخصیص دوباره پر و تخصیص مجدد جزئی برای تخصیص داده موثر بکار می برد . هر دو این الگوریتم ها هیوریستیک های تکراری حریصانه و تپه نوردی می باشند که از مسیر دو بار عبور نمی کند .[6] در هر تکرار یا راه حل با کمترین هزینه را پیدا می کنند و یا تمام می شوند هر دو این الگوریتم ها اینها را به عنوان ورودی نیاز دارند : تخصیص داده کنونی ، رابطه ها ، و پرس وجوها در سیستم پایگاه داده توزیع شده . با معرفی سرورهای جدید در سیستم پایگاه داده توزیع شده هزینه کاهش پیدا می کند و علاوه براین می توان پیچیدگی را کنترل کرد . این هیوریستیک ها به خاطر پچیدگی خطی شان می توانند مسائل بزرگ ، کوچک و پیچیده را بر اساس نیازهای سازمانی حل کنند . این الگوریتم مسئله فضای جستجو را کاهش می دهد و بنابراین هزینه به طور کلی کاهش پیدا می کند.[6]

 

 

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

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

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

 

 


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


دانلود مقاله الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی

ارتباط با پایگاه داده‌های Access در Visual Basic

اختصاصی از فی گوو ارتباط با پایگاه داده‌های Access در Visual Basic دانلود با لینک مستقیم و پر سرعت .

ارتباط با پایگاه داده‌های Access در Visual Basic


ارتباط با پایگاه داده‌های Access در Visual Basic

 

 

 

 

131 صفحه

پیشگفتار :

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

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

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

از این نرم‌افزارهای می‌توان به ORACLE ، ACCESS , MS SQL SERVER, MS SQL اشاره نمود.

ACCESS یک نرم افزار بانک اطلاعاتی قوی و آسان است که بسیاری از کاربران بانک اطلاعاتی تمایل زیادی به استفاده نرم افزار خوب و سودمند بهره گرفته شده است.

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

زبان VISUAL BASIC نسخة تحت ویندوز زبان Basic است که البته بسیار قوی‌تر و پیشرفته‌تر از نسخة تحت DOS آن عمل می‌کند و بسیاری از برنامه‌های پیشرفته و سطح بالا و پیچید ه مورد نیاز شرکت‌های بزرگ به ویژه برنامه‌های چند رسانه‌ای (Multi Media) با آن استفاده ازآن نوشته می‌شود.

من نیز در این پروژه درسی از این زبان قوی که دارای قابلیت ارتباط با بانک اطلاعاتی به نحو مطلوبی است، بهره گرفته‌ام.

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

بانک اطلاعاتی برنامه من مربوط به یک فروشگاه نوت بوک می‌باشد. در این فروشگاه علاوه بر خود نوت بوک، کیف نوت بوک، لوازم جانبی نوت بوک یا PC، اجزاء اصلی داخل نوت بوک یا PC و نیز خود PC عرضه می‌شود.

برنامه VB در این پروژه طبق Query های خاصی که در ارتباطش با بانک اطلاعاتی ACCESS درخواست می‌کند، لیست‌های متفاوتی از اطلاعات آن را به نمایش در می‌آورد.

فهرست مطالب :
پیشگفتار
مقدمات Visual Basic
مقدمات بانک اطلاعاتی Access
توصیف پروژه
الف ) توصیف پایگاه داده‌ها
ب ) توصیف فرم‌های برنامه
ضمائم
ضمیمه ۱- کد فرم Accessories
ضمیمه ۲- کد فرم Bag
ضمیمه ۳- کد فرم Component
ضمیمه ۴- کد فرم Notebook
ضمیمه ۵- کد فرم Start) AAA)
فهرست منابع


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


ارتباط با پایگاه داده‌های Access در Visual Basic

پروژه الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی

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

پروژه الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی


پروژه الگوریتم های تخصیص داده پویا  در سیستم های پایگاه داده توزیعی

فرمت فایل : word (قابل ویرایش) و powerpoint

تعداد صفحات :21

چکیده ای از مطالب :

مقدمه

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

دغدغه اصلی سیستم های پایگاه داده توزیع شده قطعه قطعه کردن[1] و تخصیص[2] پایگاه داده اصلی می باشد واحد قطعه داده می تواند یک فایل باشد که در این حالت موضوع تخصیص همان تخصیص فایل خواهد بود مشکل تخصیص داده یک مسئله NP-complete می باشد بنابراین نیاز به هیوریستیکهای سریع برای تولید راه حل های موثر می باشد علاوه بر اینها تخصیص بهینه اشیا پایگاه داده به طور شدید بستگی به استراتژی اجرای پرس وجو [3] که به وسیله پایگاه داده توزیع شده پیاده سازی شده دارد .

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

 

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


 


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


پروژه الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی

پاورپوینت سیستم های پایگاه داده های امن27 اسلاید

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

پاورپوینت سیستم های پایگاه داده های امن27 اسلاید


پاورپوینت سیستم های پایگاه داده های امن27 اسلاید

درس پایگاه داده های پیشرفته

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

در دهة 70، همزمان با شروع تحقیقات روی پایگاه داده‌های رابطه‌ای، توجه مستقیماً به مسئله کنترل دسترسی بود و بیشتر از همه، کار روی مدلهای کنترل دسترسی احتیاطی شروع شد. در حالی که، در سالهای پایانی دهة 70، کار بروی امنیت الزامی ولی در واقع تا مطالعات نیروی هوایی در 1982، که تلاش وسیعی برای DBMSهای امن چند سطحی بود، کار مهمی انجام نشد.


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


پاورپوینت سیستم های پایگاه داده های امن27 اسلاید