دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    دسته‌بندی نشده    قابل توجه دانشجویان گرامی آزمایشگاه پایگاه داده ها با توجه به اینکه اکثر دانشجویان قادر به شرکت در آزمایشگاه در این زمان نیستند، موافقت گردید 6 دستور کار اول را انجام دهند تا پس از آخرین امتحان پایان ترم جلسات آزمایشگاه برگزار گردد. با تشکر تفضلی بسمه تعالی دستور کار آزمایشگاه پایگاه داده ها آزمایش 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 نوع داده ای نام فارسی نام لاتین ازنوع clusteredتعریف شود، رقم اول هرشماره از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. Permissions CREATE DATABASE permission defaults to members of the sysadmin and dbcreator fixed server roles. Members of the sysadmin and securityadmin fixed server roles can grant CREATE DATABASE permissions to other logins. Members of the sysadmin and dbcreator fixed server role can add other logins to the dbcreator role. The CREATE DATABASE permission must be explicitly granted; it is not granted by the GRANT ALL statement. CREATE DATABASE permission is usually limited to a few logins to maintain control over disk usage on an instance of SQL Server. Examples A. Create a database specifying multiple data and transaction log files This example creates a database called Archive with three 100-MB data files and two 100-MB transaction log files. The primary file is the first file in the list and is explicitly specified with the PRIMARY keyword. The transaction log files are specified following the LOG ON keywords. Note the extensions used for the files in the FILENAME option: .mdf is used for primary data files, .ndf is used for the secondary data files, and .ldf is used for transaction log files. USE master GO CREATE DATABASE Archive ON PRIMARY ( NAME = Arch1, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat1.mdf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Arch2, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat2.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Arch3, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat3.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) LOG ON ( NAME = Archlog1, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog1.ldf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Archlog2, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog2.ldf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) GO B. Create a database without specifying SIZE This example creates a database named products2. The file prods2_dat becomes the primary file with a size equal to the size of the primary file in the model database. The transaction log file is created automatically and is 25 percent of the size of the primary file, or 512 KB, whichever is larger. Because MAXSIZE is not specified, the files can grow to fill all available disk space. USE master GO CREATE DATABASE Products2 ON ( NAME = prods2_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\prods2.mdf' ) GO C. Create a database with filegroups This example creates a database named sales with three filegroups: The primary filegroup with the files Spri1_dat and Spri2_dat. The FILEGROWTH increments for these files is specified as 15 percent. A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2. A filegroup named SalesGroup2 with the files SGrp2Fi1 and SGrp2Fi2. CREATE DATABASE Sales ON PRIMARY ( NAME = SPri1_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SPri1dat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ), ( NAME = SPri2_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SPri2dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ), FILEGROUP SalesGroup1 ( NAME = SGrp1Fi1_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SG1Fi1dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = SGrp1Fi2_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SG1Fi2dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), FILEGROUP SalesGroup2 ( NAME = SGrp2Fi1_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SG2Fi1dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = SGrp2Fi2_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SG2Fi2dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'Sales_log', FILENAME = 'c:\program files\microsoft sql server\mssql\data\salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO 2-ALTER DATABASE Adds or removes files and filegroups from a database. Can also be used to modify the attributes of files and filegroups, such as changing the name or size of a file. ALTER DATABASE provides the ability to change the database name, filegroup names, and the logical names of data files and log files. Syntax ALTER DATABASE database { ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP filegroup_name ] | ADD LOG FILE < filespec > [ ,...n ] | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_name | MODIFY FILE < filespec > | MODIFY NAME = new_dbname | MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name }| SET < optionspec > [ ,...n ] [ WITH < termination > ] database Is the name of the database changed. ADD FILE Specifies that a file is added. TO FILEGROUP Specifies the filegroup to which to add the specified file. filegroup_name Is the name of the filegroup to add the specified file to. ADD LOG FILE Specifies that a log file be added to the specified database. REMOVE FILE Removes the file description from the database system tables and deletes the physical file. The file cannot be removed unless empty. ADD FILEGROUP Specifies that a filegroup is to be added. filegroup_name Is the name of the filegroup to add or drop. REMOVE FILEGROUP Removes the filegroup from the database and deletes all the files in the filegroup. The filegroup cannot be removed unless empty. MODIFY FILE Specifies the given file that should be modified, including the FILENAME, SIZE, FILEGROWTH, and MAXSIZE options. Only one of these properties can be changed at a time. NAME must be specified in the <filespec> to identify the file to be modified. If SIZE is specified, the new size must be larger than the current file size. FILENAME can be specified only for files in the tempdb database, and the new name does not take effect until Microsoft SQL Server is restarted. To modify the logical name of a data file or log file, specify in NAME the logical file name to be renamed, and specify for NEWNAME the new logical name for the file. Thus: MODIFY FILE (NAME = logical_file_name, NEWNAME = new_logical_name...). For optimum performance during multiple modify-file operations, several ALTER DATABASE database MODIFY FILE statements can be run concurrently. MODIFY NAME = new_dbname Renames the database. MODIFY FILEGROUP filegroup_name { filegroup_property | NAME = new_filegroup_name } Specifies the filegroup to be modified and the change needed. If filegroup_name and NAME = new_filegroup_name are specified, changes the filegroup name to the new_filegroup_name. If filegroup_name and filegroup_property are specified, indicates the given filegroup property be applied to the filegroup. The values for filegroup_property are: READONLY Specifies the filegroup is read-only. Updates to objects in it are not allowed. The primary filegroup cannot be made read-only. Only users with exclusive database access can mark a filegroup read-only. READWRITE Reverses the READONLY property. Updates are enabled for the objects in the filegroup. Only users who have exclusive access to the database can mark a filegroup read/write. DEFAULT Specifies the filegroup as the default database filegroup. Only one database filegroup can be default. CREATE DATABASE sets the primary filegroup as the initial default filegroup. New tables and indexes are created in the default filegroup—if no filegroup is specified in the CREATE TABLE, ALTER TABLE, or CREATE INDEX statements WITH <termination> Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Only one termination clause can be specified and it follows the SET clauses. ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE Specifies whether to roll back after the specified number of seconds or immediately. If the termination clause is omitted, transactions are allowed to commit or roll back on their own. NO_WAIT Specifies that if the requested database state or option change cannot complete immediately without waiting for transactions to commit or roll back on their own, the request will fail. <state_option> Controls user access to the database, whether the database is online, and whether writes are allowed. SINGLE_USER | RESTRICTED_USER | MULTI_USER Controls which users may access the database. When SINGLE_USER is specified, only one user at a time can access the database. When RESTRICTED_USER is specified, only members of the db_owner, dbcreator, or sysadmin roles can use the database. MULTI_USER returns the database to its normal operating state. OFFLINE | ONLINE Controls whether the database is offline or online. READ_ONLY | READ_WRITE Specifies whether the database is in read-only mode. In read-only mode, users can read data from the database, not modify it. The database cannot be in use when READ_ONLY is specified. The master database is the exception, and only the system administrator can use master while READ_ONLY is set. READ_WRITE returns the database to read/write operations. <cursor_option> Controls cursor options. CURSOR_CLOSE_ON_COMMIT ON | OFF If ON is specified, any cursors open when a transaction is committed or rolled back are closed. If OFF is specified, such cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC. CURSOR_DEFAULTLOCAL | GLOBAL Controls whether cursor scope defaults to LOCAL or GLOBAL. <auto_option> Controls automatic options. AUTO_CLOSE ON | OFF If ON is specified, the database is shut down cleanly and its resources are freed after the last user exits. If OFF is specified, the database remains open after the last user exits. AUTO_CREATE_STATISTICS ON | OFF If ON is specified, any missing statistics needed by a query for optimization are automatically built during optimization. AUTO_SHRINK ON | OFF If ON is specified, the database files are candidates for automatic periodic shrinking. AUTO_UPDATE_STATISTICS ON | OFF If ON is specified, any out-of-date statistics required by a query for optimization are automatically built during optimization. If OFF is specified, statistics must be updated manually. <sql_option> Controls the ANSI compliance options. ANSI_NULL_DEFAULT ON | OFF If ON is specified, CREATE TABLE follows SQL-92 rules to determine whether a column allows null values. ANSI_NULLS ON | OFF If ON is specified, all comparisons to a null value evaluate to UNKNOWN. If OFF is specified, comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL. ANSI_PADDING ON | OFF If ON is specified, strings are padded to the same length before comparison or insert. If OFF is specified, strings are not padded. ANSI_WARNINGS ON | OFF If ON is specified, errors or warnings are issued when conditions such as divide-by-zero occur. ARITHABORT ON | OFF If ON is specified, a query is terminated when an overflow or divide-by-zero error occurs during query execution. CONCAT_NULL_YIELDS_NULL ON | OFF If ON is specified, the result of a concatenation operation is NULL when either operand is NULL. If OFF is specified, the null value is treated as an empty character string. The default is OFF. QUOTED_IDENTIFIER ON | OFF If ON is specified, double quotation marks can be used to enclose delimited identifiers. NUMERIC_ROUNDABORT ON | OFF If ON is specified, an error is generated when loss of precision occurs in an expression. RECURSIVE_TRIGGERS ON | OFF If ON is specified, recursive firing of triggers is allowed. RECURSIVE_TRIGGERS OFF, the default, prevents direct recursion only. To disable indirect recursion as well, set the nested triggers server option to 0 using sp_configure. <recovery_options> Controls database recovery options. RECOVERY FULL | BULK_LOGGED | SIMPLE If FULL is specified, complete protection against media failure is provided. If a data file is damaged, media recovery can restore all committed transactions. If BULK_LOGGED is specified, protection against media failure is combined with the best performance and least amount of log memory usage for certain large scale or bulk operations. These operations include SELECT INTO, bulk load operations (bcp and BULK INSERT), CREATE INDEX, and text and image operations (WRITETEXT and UPDATETEXT). Under the bulk-logged recovery model, logging for the entire class is minimal and cannot be controlled on an operation-by-operation basis. If SIMPLE is specified, a simple backup strategy that uses minimal log space is provided. Log space can be automatically reused when no longer needed for server failure recovery. INCLUDEPICTURE "mk:@MSITStore:C:\\Program%20Files\\Microsoft%20SQL%20Server\\80\\Tools\\Books\\tsqlref.chm::/Basics/important.gif" \* MERGEFORMATINET Important  The simple recovery model is easier to manage than the other two models but at the expense of higher data loss exposure if a data file is damaged. All changes since the most recent database or differential database backup are lost and must be re-entered manually. The default recovery model is determined by the recovery model of the model database. To change the default for new databases, use ALTER DATABASE to set the recovery option of the model database. TORN_PAGE_DETECTION ON | OFF If ON is specified, incomplete pages can be detected. The default is ON. Remarks To remove a database, use DROP DATABASE. To rename a database, use sp_renamedb.Before you apply a different or new collation to a database, ensure the following conditions are in place: You are the only one currently using the database. No schema bound object is dependent on the collation of the database. If the following objects, which are dependent on the database collation, exist in the database, the ALTER DATABASE database COLLATE statement will fail. SQL Server will return an error message for each object blocking the ALTER action: User-defined functions and views created with SCHEMABINDING. Computed columns. CHECK constraints. Table-valued functions that return tables with character columns with collations inherited from the default database collation. Altering the database collation does not create duplicates among any system names for the database objects. These namespaces may cause the failure of a database collation alteration if duplicate names result from the changed collation: Object names (such as procedure, table, trigger, or view). Schema names (such as group, role, or user). Scalar-type names (such as system and user-defined types). Full-text catalog names. Column or parameter names within an object. Index names within a table. Duplicate names resulting from the new collation will cause the alter action to fail and SQL Server will return an error message specifying the namespace where the duplicate was found. You cannot add or remove a file while a BACKUP statement is executing. To specify a fraction of a megabyte in the size parameters, convert the value to kilobytes by multiplying the number by 1024. For example, specify 1536 KB instead of 1.5MB (1.5 x 1024 = 1536). Permissions ALTER DATABASE permissions default to members of the sysadmin and dbcreator fixed server roles, and to members of the db_owner fixed database roles. These permissions are not transferable. Examples A. Add a file to a database This example creates a database and alters it to add a new 5-MB data file. USE master GO CREATE DATABASE Test1 ON ( NAME = Test1dat1, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat1.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ) GO ALTER DATABASE Test1 ADD FILE ( NAME = Test1dat2, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat2.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ) GO B. Add a filegroup with two files to a database This example creates a filegroup in the Test 1 database created in Example A and adds two 5-MB files to the filegroup. It then makes Test1FG1 the default filegroup. USE master GO ALTER DATABASE Test1 ADD FILEGROUP Test1FG1 GO ALTER DATABASE Test1 ADD FILE ( NAME = test1dat3, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat3.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB), ( NAME = test1dat4, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat4.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB) TO FILEGROUP Test1FG1 ALTER DATABASE Test1 MODIFY FILEGROUP Test1FG1 DEFAULT GO C. Add two log files to a database This example adds two 5-MB log files to a database. USE master GO ALTER DATABASE Test1 ADD LOG FILE ( NAME = test1log2, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test2log.ldf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB), ( NAME = test1log3, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test3log.ldf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB) GO D. Remove a file from a database This example removes one of the files added to the Test1 database in Example B. USE master GO ALTER DATABASE Test1 REMOVE FILE test1dat4 GO E. Modify a file This example increases the size of one of the files added to the Test1 database in Example B. USE master GO ALTER DATABASE Test1 MODIFY FILE (NAME = test1dat3, SIZE = 20MB) GO F. Make the primary filegroup the default This example makes the primary filegroup the default filegroup if another filegroup was made the default earlier. USE master GO ALTER DATABASE MyDatabase MODIFY FILEGROUP [PRIMARY] DEFAULT GO 3-Sql-Server Data Types: Exact Numerics Integers bigintInteger (whole number) data from -2^63 (-9223372036854775808) through 2^63-1 (9223372036854775807). intInteger (whole


دسته‌بندی نشده

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

کلمه کلیدی را وارد کنید :

دسته بندی: دسته‌بندی نشده

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب مرتبط

دسته‌بندی نشده

2 (2287)

فصل اول : میکروکنترلر 8051 …...................................................................1 دیگر اعضای خانواده 8051 ...............................................................................................3 انواع میکروکنترلر 8051 ...................................................................................................5 میکرو کنترلر 8751 ................................................................................................................6 نوع OTPاز 8051 ….......................................................................................................11 2-1 توصیف پایه های 8051 ............................................................................................11 پورت 1..................................................................................................................................19 پورت 2.................................................................................................................................19 نقش دوگانه ادامه مطلب…

دسته‌بندی نشده

2 (2285)

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

دسته‌بندی نشده

2 (2286)

قانون برنامه چهارم توسعه اقتصادی، اجتماعی و فرهنگی جمهوری اسلامی ایران (1388-1384) مصوب 11/6/1383 بخش اول رشد اقتصاد ملی دانایی‌محور در تعامل با اقتصاد جهانی فصل اول بسترسازی برای رشد سریع اقتصادی ماده 1 به ادامه مطلب…

background