در این تاپیک به آموزش پایگاه داده SQL Server 2000 هم به صورت Wizard و هم دستی یا همان کد نویسی در حدی که بتوانید یک دیتابیس یا همان پایگاه داده بسازید و بتواند داده های خود را در آن ذخیره - بازیابی - حذف - و ... می پردازم و امیدوارم که مورد قبول شما باشد.
با تشکر سعید
Security
02-02-07, 18:07
معرفي پايگاه داده SQL Server 2000
SQL Server یک پایگاه داده ارائه شده توسط شركت مايكروسافت است
بدون اقراق ميتوان گفت اين محصول پر كاربرد ترين Package پايگاه داده محسوب ميشود. البته مايكروسافت ادعا كرده است كه بيش از 60 % بازار Database جهان را به خود اختصاص داده و اين روز به روز در حال افزايش است. شركت IBM در اواخر دهه 70 زبان SEQUEL كه براي Query ها (پرس و جو ها ) استفاده ميشد را ابداع كرد. با تغيير زمان اين زبان نيز تغييراتي كرد و تا آنجا كه فقط براي Query ها استفاده نميشد و از آن ميتوانستيم براي مدیریت بامگها و امنیت در Database نيز استفاده كنيم و بعد از مدتها اين زبان به SQL تغيير نام داد.
امروزه ورژنهاي متعددي از اين نرم افزار استفاده ميشود كه نرم افزار Microsoft SQL Server 2000 از Transact SQL كه به آن TSQL هم ميگويند استفاده ميكند.
SQLserver هم اكنون داراي 2 نسخه است : يكي SQL Server 2000 Personal Edition كه بر روي Client نصب ميشود (Windows 98 – Windows ME – Windows 2000 Proffessional – Windows XP Home Edition – Windows XP Proffessional Edition) . البته اگر بر روي Windows 98 و Windows ME نصب كنيم ، بسياري از قابليتهاي اين Package از بين ميرود. بهترين حالت نصب اين نسخه بر روي سيستم عاملهاي Windows 2000 Proffessional و Windows XP Proffessional است. يك نسخه ديگر اين نرم افزار : SQL Server 2000 Enterprise Edition است كه مختص Server ها است يعني فقط بر روي تمامي نگارش هاي Window 2K Server و Windows Server 2003 نصب ميشود
توسط SQL ميتوان درون يك بانك اطلاعاتي پرس و جو كرده (Query) و نتيجه را برگرداند. بانك اطلاعاتي شامل آبجكتي به نام جدول (Table) ميباشد.
ركوردها در بانكهاي اطلاعات در جداول ذخيره ميگردند.
جدول شامل سطر و ستون ميباشند.
در زير ميتوان يك جدول را مشاهده كرد :
Last Name First Name Address City
مثال:
Select Last name from persons
پر كاربرد ترين دستورات SQL شامل موارد زير است :
SELECT استخراج يك داده از بانك اطلاعاتي
UPDATE به روز رساني يك داده درون بانك
DELETE پاك كردن يك داده از بانك اطلاعاتي
INSERT وارد كردن يك داده جديد به بانك اطلاعاتي
همچنين در SQL ميتوان داده هايي نيز تعريف كرد :
CREATE TABLE ايجاد يك جدول جديد
ALTER TABLE تغيير دادن يك جدول
DROP TABLE پاك كردن يك جدول
CREATE INDEX ايجاد يك انديس
(كليد جستجو) DROP INDEX پاك كردن يك انديس
که در بحث ها بعدی به آنها می پردازیم .
Security
02-02-07, 18:15
ايجاد کردن يک پايگاه اطلاعاتیِ به روش ویزارد
در محيط SQL Server شما جداول، نماها و ديگر شیءها که مربوط به تنظيم اطلاعات در يک پايگاه داده می باشد را ذخيره می کنيد. بنابراين اولين گام برای نمايش دادن يک برنامه پايگاه اطلاعاتی، به طور آشکار، ايجاد پايگاه داده می باشد و در اين درس خواهيم آموخت که چگونه آن را انجام دهيم.
ايجاد کردن پايگاه داده ها
برای هر پايگاه داده منطقی، SQL Server دو فايل فيزيکی ايجاد می کند: يکی برای Objects و ديگری برای Transaction Log .
راهنمايی: اگر چه به وسيله SQL Server پيش فرض يک محل يکسان برای هر دوی پايگاه داده فايل و Transaction Log پيشنهاد می کنيم. در يک سيستم Production شما بايد معمولاً Transaction Log را در يک محلی ديگر ترجيحاً روی يک ماشين ديگر ذخيره سازيد که آن را ممکن می سازد به بازگرداندن پايگاه داده در حالتی از ناتوانی سخت افزار که خوانده شدن از ديسک جلوگيری می کند.
ايجاد کردن يک پايگاه داده جديد
اگر چه آن ممکن است به ايجاد يک پايگاه داده جديد به وسيله انتخاب دستور New Database در منوی محتويات پوشه Database که ساده ترين راه برای استفاده کردن از Create Database Wizard می باشد.
ايجاد يک پايگاه داده جديد
1- پوشه Database را از Server که شما استفاده می کنيد برای اين درسها راهبری می کنيم. SQL Server ليستی از پايگاه داده را در قاب Details نشان می دهد.
2- دکمه Wizard را روی نوار ابزار Manager Enterprise کليک می کنيم. SQL Server کادر محاوره ای The Select Wizard را نشان می دهد.
3- Create Database Wizard را از بخش Database انتخاب کرده و OK را کليک می کنيم. SQL Server اولين صفحه از Wizard را نشان می دهد.
4- Next را کليک کرده Create Database Wizard يک صفحه که نام و محل پايگاه داده را درخواست می کند نشان می دهد.
5- 4 Lessen را در فيلد نام پايگاه داده تايپ می کنيم.
6- دکمه Brows را برای تغيير محل فايل پايگاه داده کليک می کنيم. ويزارد يک کادر محاوره ای را که محل جديد را درخواست می کند نشان می دهد.
مکانهای فايل پايگاه داده
زمانی که SQL Server اولين بار نصب می گردد، آن در محل پيش فرض MS SQL / Data برای فايلهای پايگاه داده جديد در پوشه آنجايی که Server نصب می گردد قرار می گيرد. اين پيش فرض در The Create Database Wizard تعبيه شده است. برای تغيير دائمی پيش فرض شما می توانيد يک مکان جديد روی زبانه Settings پايگاه داده از کادر محاوره ای SQL Server Properties برقرار کنيد که در دسترس می باشد. با کليک راست کردن Server در درخت Console ، Properties را انتخاب کرده سپس زبانه Settings پايگاه داده را انتخاب می کنيم.
6- پوشه Step by Step 2000 The SQL را به ريشه دايرکتوری هدايت کرده و سپس OK را کليک می کنيم. ويزارد مکان فايل پايگاه داده را برای دايرکتوری انتخاب شده فراهم می کند.
7- دکمه Browse را برای تغيير موقعيت Transaction Log کليک می کنيم. ويزارد يک کادر محاوره ای که يک موقعيت جديد را درخواست می کند نشان می دهد.
8- پوشه Step by Step 2000 SQLرا به ريشه دايرکتوری فرستاده و سپس OK را کليک می کنيم. ويزارد مکان فايل Log Transaction را برای دايرکتوری انتخاب شده تنظيم می کند.
9- Next را کليک می کنيم. ويزارد يک صفحه ای که نام و اندازه اوليه برای فايل پايگاه داده درخواست می کند نشان می دهد.
10- Next را کليک می کنيم. ويزارد نشان می دهد صفحه ای که به شما اجازه می دهد به انتخاب اينکه آيا فايلهای پايگاه داده به طور خودکار افزايش می يابد و يا اينکه فقط زمانی که شما آنها را بسط می دهيد افزايش می يابد. برای اين تمرين تنظيمات پيش فرض را می پذيريم.
11- Next را کليک کرده ويزارد يک صفحه ای را که از شما نام و سايز اصلی برای Transaction Log را درخواست می کند نشان می دهد.
12- Next را کليک کرده ويزارد يک صفحه ای را نشان می دهد که اجازه می دهد به شما انتخاب کنيد که آيا Transaction File بايد به طور خودکار افزايش يابد.
13- Next را کليک کرده ويزارد يک صفحه ای را برای تأييد انتخابهايی که شما ساخته ايد نشان می دهد.
14- Finish را کليک کرده ويزارد پايگاه داده و فايلها Transaction Log را ايجاد می کند و سپس می پرسد آيا شما می خواهيد يک طرح نگهداری برای پايگاه داده جديد ايجاد کنيد.
15- NO را کليک کرده ويزارد بسته می شود.
تنظيمات خصوصيات پايگاه داده
زمانی که شما با Create Database Wizard يک پايگاه داده ايجاد می کنيد. شما مشخصه يا خصوصيات از پايگاه داده را مشخص می کنيد مانند نام پايگاه داده و مکانهای فايل. بعد از اينکه پايگاه داده ايجاد می شود، شما می توانيد اين خصوصيات را به وسيله تغيير دادن تنظيمات appropriate در کادر محاوره ای databases Properties تغيير دهيد.
برای مثال بزرگ کردن اندازه فايل داده فيزيکی Growing The File در عبارت SQL Server هست به طور واضح يک عملياتی که به آهستگی زمان مسئوليت پذيری جواب گويی Server را پايين می آورد. اگر شما پيدا کنيد SQL Server که اغلب مجبور به بزرگ کردن فايل می باشد، ممکن است شما تغيير تنظيمات درصد رشد فايل را در کادر محاوره ای Properties مورد ملاحظه قرار دهيد. بنابراين Server فايل را بيش تر از ارزش پيش فرض 10 درصد رشد خواهد شد.
تغيير درصد رشد فايل پايگاه داده
1- پايگاه داده 4Lesson را در درخت Console انتخاب می کنيم.
2- دکمه Properties را در نوار ابزار کليک می کنيم. SQL Server کادر محاوره ای databases Properties را نشان می دهد.
3- زبانه Data Files را کليک کرده SQL Server خصوصياتی از فايلهای داده پايگاه داده را نشان می دهد.
4- درصد رشد 20 درصد قرار می دهيم.
5- را کليک می کنيم. SQL Server يک خصوصيت جديد را ايجاد کرده و کادر محاوره ای Properties را می بندد.
مديريت پايگاه داده ها
به طور کلی برای تغيير دادن خصوصيات يک پايگاه داده، شما گاه گاهی نياز به حذف همگی آنها خواهيد داشت که Manager Enterprise آن را خيلی ساده می سازد.
نکته: کارهای مديريت ديگری که شما ممکن بخواهيد به انجام رسانيد نامگذاری مجدد پايگاه داده، در داخل Manager Enterprise نمی تواند انجام شود. ما در درس 28 خواهيم آموخت که چگونه يک پايگاه داده را مجدد نامگذاری کنيم.
حذف کردن يک پايگاه داده
زمانی که پايگاه داده ای که ايجاد کرده ايد خيلی زياد مورد نياز نباشد. شما می توانيد آن را از Server حذف کنيد. حذف يک پايگاه داده هر دوی فايلهای فيزيکی گردآوری شده با پايگاه داده و همه منابع پايگاه داده در جداول سيستم را برمی دارد.
راهنمايی: آن يک نظر خوبی است که يک نسخه پشتيبان از پايگاه داده های سيستم بعد از اينکه پايگاه داده حذف می گردد ايجاد کنيم.
حذف يک پايگاه داده
1- پايگاه داده 4 Lesson را در درخت Console انتخاب می کنيم.
2- کليد Delete را فشار می دهيم. SQL Server يک متنی که از شما برای تأييد حذف درخواست می کند نشان می دهد.
4- Yes را کليک کرده SQL Server جايگاه داده ها و همه منابع گردآوری شده را از Server برمی دارد.
Security
02-02-07, 18:22
ايجاد كردن جداول و تغییر در سطرها و ستون ها و داده های ذخیره شده به روش Wizard
ايجاد كردن جداول
در محيط SQL Server ميكروسافت، در هر پايگاه داده مرتبط، اطلاعاتي در داخل جداول سازماندهي مي شوند بر طبق ترتيب سطرها و ستونها كه داده ها را براي شئی های تکی ذخيره می کند. در اين درس، شما مي آموزيد كه چگونه يك جدول جديد را ايجاد كنيد و معين كنيد ستونهايي كه آن جدول در بردارد.
راهنمايي: در نظر گرفتن محتويات جدول به عنوان يك شبكه (Grid) مانند يك صفحه گسترده ايده آل مي باشد. اما اين موضوع مهم مي باشد به تشخيص اينكه ركوردها در يك جدول نظم دروني ندارند. ايده هاي Previous و Next در يك ركورد جدول به كار برده نمي شوند. اگر شما نياز به انجام عملياتهاي متوالي نداشته باشيد، شما مي توانيد به وسيله ای به نام Cursor آن را انجام دهيد. يك ماهيتي كه به يك سطر ويژه در يك مجموعه از ركوردها اشاره مي كند. در مورد Cursor در درس 27 بحث خواهيم كرد.
ايجاد كردن جداول
جداول يك واحد تابعي از انبار داده ها در يك پايگاه داده های مرتبط مي باشند. به عنوان يك قاعده كلي، هر نوع از موجوديتها از قبيل Essential Oil در پايگاه داده نمونه مان به وسيله يك جدول نشان داده مي شود، نظر به اينكه هر نمونه از آن موجوديتها از قبيلGerman Chamomile Clary Sage به وسيله يك سطر در جدول نشان داده مي شود.
طراحي پايگاه داده
در بيشترين روش رايج براي تعريف پايگاه داده ها از راهكارهاي (مفهومهاي) Entities و Attributes استفاده مي كنيم زماني كه شما از طراحي منطقي به طراحی فيزيكي پيش مي رويد. موجوديتها معمولاً به صورت جداول پياده سازی مي شوند و مشخصه ها (Attributes) در ستونها پياده سازی مي شوند. (همچنين در فيلدها شناخته مي شوند)
شناخت انواع داده ها
هر ستون در جدول داراي خصوصيات معين مي باشد كه آن را براي SQL Server تعريف مي كند. مهمتر از اين خصوصيات، نوع داده هاي ستون مي باشد، كه تعريفي از نوع اطلاعاتی كه درستونها ذخيره خواهند شد می باشد. SQL Server يك محدوده وسيعي از انواع داده ها را فراهم آورد كه در جدول 1-5 نشان داده شده است. به طور كلي انواع داده ها به وسيله SQL Server فراهم مي گردد، همچنين شما مي توانيد خودتان تعريف كنيد. شما خواهيد آموخت كه چگونه اين را در درس 9 انجام دهيد.
مقادير قابل قبول انواع داده
مقادير عددی
مقادير اعداد صحيح از 63^2- تا1-63^2 bight
مقادير اعداد صحيح از 31^2- تا 1-31^2 Int
مقادير اعداد صحيح از 15^2- تا 1-15^2 Smallint
مقادير اعداد صحيح از 0 تا 255 Tinyint
مقادير اعداد صحيح با ارزش 0 و 1 bit
مقادير مقياس با دقت ثابت شده از 1+38^10 تا 1-38^10 decimal
مقادير Decimal همچنين مي تواند تعريف شود به صورتNumeric ، دامنه مقادير يكسان مي باشد.
مقادير Monetary (مالي) از 63^2- تا 1-63^2 (مقادير Money تا 0.0001 از هرواحد دقت دارد). Money
مقاديرMonetary از 3648 . 748 . 214- تا 3647 . 748 . 214 مي باشد Smallmoney
(مقادير Small Monetary تا 0001/0 واحد دقيق مي باشد).
مقادير صحيح شناور (متغير) از 308+E1.79- تا 308+E1.79 (مقادير Float فقط تقريبي مي باشد) Float
مقادير صحيح شناور متغير از 38+E3.40- تا 38+E3.40 مي باشند (مقادير real فقط تقريبي مي باشد) real
مقادير تاريخ و زمان از 1.1753 ژانويه تا 31.9999 دسامبر مي باشد datetime
(مقادير Date Time تا 3 هزارم ثانيه يا 3.33 ميلي ثانيه دقت دارد) Smalldatedtime
مقادير تاريخ و زمان از 1 ژانويه و 1900 تا 6 ژوئن و 2079 مي باشد (مقاديرSmalldatetime تا 1 دقيقه دقت دارند)
مقادير کاراکتری
مقادير حرفي كدگذاري نشده با طول ثابت با طول حداكثر 8000 حرف مي باشد. Char
مقادير حرفي كدگذاري نشده با طول متغير با طول حداكثر 8000 حرف مي باشد. Varchar
داده كدگذاري شده با طول متغير با طول حداكثر 1-31^2 (647 . 741 . 073 . 1) حرف مي باشد. Text
داده كدگذاري شده با طول ثابت با طول حداكثر 4000 حرف مي باشد Nchar
داده كدگذاري نشده با طول متغير با حداكثر طول 4000 حرف مي باشد nvarchar
داده كدگذاري شده با طول متغير با حداكثر طول 1-30^2 (823 . 741 . 073 . 1) حرف مي باشد ntext
مقادير باينری (1 و 0)
داده باينري با طول ثابت با حداكثر طول 8000 بايت مي باشد binary
داده باينري با طول متغير با حداكثر طول 8000 بايت مي باشد Varbinary
داده باينري با طول متغير با حداكثر طول 1-31^2 (647 . 783 . 147 . 2) بايت مي باشد Image
مقادير ديگر
يك مرجع مبناء براي يك Cursor مي باشد (يكCursor يك ماهيتي است كه يك مرجع مبناء را براي يك سطر مشخص در يك Result Set نشان مي دهد. Cursor
يك شمار واحد پايگاه داده است كه به هنگام مي شود هر زماني كه يك سطر به هنگام شود. (نوع داده rowversion در نسخه قبلی از Timestamp SQL Server ناميده می شود) rowversion
مقاديري از هر نوع غير از text ، ntext ، rowversion (timestamp) و sql - variant می باشد. يك معرف واحد کلي GUID مي باشد. Uniqveidentifier
ايجاد كردن يك جدول جديد
جداول تهيه و با استفاده از طراح جدول Enterprise Manager نگهداري مي شوند. اولين گام ايجاد و نامگذاري جدول به وسيله باز كردن Table Designer براي يك جدول جديد مي باشد.
ايجاد يك جدول جديد
1- در پايگاه داده Aromatherapy بر روی پوشه Table می رويم. SQL Server يک ليستی از جداول موجود را نشان می دهد.
2- دکمه New را روی نوار ابزار کليک می کنيم. SQL Server ، Table Designer را باز می کند.
3- دکمه Properties را در نوار ابزار کليک می کنيم. SQL Server کادر محاوره ای Tables Properties را باز می کند.
4- نام جدول را به 5 Lesson تغيير می دهيم.
5- Close را کليک می کنيم. SQL Server کادر محاوره ای Properties را می بندد.
اضافه کردن ستونها به يک جدول
اگر چه يک جدول يک Properties معين برای خود دارد. از قبيل نامی که ما در تمرين آخر به کار برديم. يک جدول اصولاً به وسيله ستونها که در آن موجود است تعريف می شود.
اضافه کردن يک ستون عددی به جدول
1- My Number را در سل Column Name تايپ کرده و سپس Tab را فشار می دهيم. SQL Server، char را به عنوان نوع داده پيشنهاد می دهد.
2- نوع داده را برای decimal تغيير می دهيم. SQL Server طول ستون را به 9 تغيير داده و صحت، مقياس و مشخصات فيلدها را تأييد می کند.
3- در سل Description ، Sample Numeric Column را تايپ می کنيم.
4- Precision ستون را به 5 و Scale را به 2 تغيير می دهيم. SQL Server طول ستون را به 5 برای نمايش دادن Precision جديد تغيير می دهد.
شرح ستون
توانايی اضافه کردن يک شرح برای يک ستون در enterprise Manager در 2000 SQL Server جديد می باشد که بخشی از عامليت جديد است که به طور extended Properties شناخته می شود. مايکروسافت مقداری از خصوصيات گسترده شده را از قبيل Column description به عنوان بخشی از نصب Server استاندارد ايجاد کرده است. شما می توانيد به طور کلی خصوصيات گسترده شده را برای ذخيره اطلاعات ويژه سايت يا اطلاعات ويژه کاربردی در حدود شئی های پايگاه داده ايجاد کنيد. extended Properties نام کاربر تعريف شده و يک مقدار دارد که مقاديری از يک extended Properties مقادير sql - variant می باشد که می تواند شامل بيش از 7500 بايت از داده ها باشد. شما می توانيد extended Properties چندگانه را برای هر شئی با استفاده از روشهای ذخيره شده تعريف کنيد. برای اطلاعات بيشتر در مورد روشهای ذخيره شده (Stored Procedures) به درس 28 رجوع کنيد.
Precision و Scale (دقت و مقياس)
دقت يک ارزش عددي مقدار ماكزيمم از رقمهاي decimal است كه ارزش آن را نشان مي دهد. براي سمت چپ و راست از نقطه Decimal . مقياس يک ارزش عددی رقمهای سمت راست از نقطه Decimal مي باشد. براي مثال، مقدار عددي 311 . 3647 يك دقت 7 دارد (مجموع شماره رقمها) و يك مقياس 3 (رقمهاي سمت راست از نقطه Decimal) را دارا مي باشد. آن مهم مي باشد كه بدانيم دقت و مقياس ارزش يك عدد بر روي طول يك ستون تأثير نمي گذارد. نوع داده طول ستون را تعيين مي كند. دقت و مقياس تعيين مي كند كه چگونه SQL Server داده هاي ذخيره شده در ستونها را تفسير مي كند.
اضافه كردن يك ستون Identity به جدول
1- در يك سل خالي در ستون Column Name كليك مي كنيم.Myidentity را تايپ كرده و سپسTab را فشار مي دهيم. SQL Server ، char را به عنوان يك نوع داده پيشنهاد مي كند.
2- نوع داده ها به decimal تغيير مي دهيم. SQL Server طول ستون را به 9 تغيير داده و فيلدهاي Identity و Scale و Precision را تأييد مي كند.
3- Allow Nulls را تيك مي كنيم.
Nulls
ارزش Nulls يك نوع خاصي از يك ارزش در تكنولوژي رابطه اي مي باشد كه استفاده مي شود براي نشان دادن اينكه يك ارزش ناپيدا يا غير موجود مي باشد استفاده كردن از Nulls قدري پيچيده و مسئله ساز و قطعاً مورد بحث مي باشد.
4- در سل Description و Sample Identity Column را تايپ مي كنيم.
5- فيلد Identity را به Yes تغيير مي دهيم (نه براي Replication)SQL Server براي هر دوي از فيلد Identity Seed و فيلد Increment Identity مقدار 1 را پيشنهاد می دهد.
ارزشهاي Identity
زماني كه شما خصوصيات Identity يك ستون را تنظيم مي كنيد، شما به SQL Server مي گوييد كه يك مقدار را در داخل ستون كه به طور واحد هر سطر را مشخص مي كند قرار دهد. نوع داده انتخاب شده ماهيت دقيق از ستون را تعيين مي كند. ستونهاي Identity مي توانند نوع داده هايي مانند int و Smallint و tinyint يا decimal داشته باشند. زماني كه SQL Server يك سطر را در داخل يك جدول كه داراي يك ستون Identity است قرار مي دهد. آن به طور خودكار ارزشي براي ستون مبني بر ارزش استفاده شده اخير (كه با Identity Seed شروع مي شود) و Identity Increment مشخص شده زماني كه جدول ايجاد شده بود ايجاد مي كند. براي مثال، اگر يك ستون Identity به عنوان يك Small int با Identity Seed ، 50 و يک Identity Increment ، 5 تعريف شود اولين سطر عدد 50 و دومين سطر 55 و سومين سطر 60 و غيره تخصيص داده می شود فقط يک ستون در يک جدول می تواند تنظيمات Identity Property را داشته باشد.
اضافه کردن ستون GUID به جدول
1- در يك سل خالي در ستون Column Nameكليك کرده، My Guid را تايپ کرده و سپس Tab را فشار می دهيم. SQL Server ، نوع داده char را پيشنهاد می دهد.
2- نوع داده را به Uniqueidentifier را تغيير می دهيم. SQL Server طول ستون را به 16 تغيير داده و فيلد IsrowGuid را تأييد می کند.
3- در سل Description ، Sample Guid تايپ می کنيم.
4- IsrowGuid را به Yes تغيير می دهيم. SQL Server يک مقدار پيش فرض به Newid( ) می دهد.
GUIDS
Guid که از GloballyUniqueIdentifier گرفته شده، يک مقادير باينری (1 و 0) 16 بايتی می باشد که هيچ کامپيوتر ديگری در دنيا نخواهد مقدار آن را توليد کند. نوع داده uniqueidentifier برای ذخيره کردن Guids استفاده می شود. SQL Server به طور خودکار مقادير Guid را از همان راهی که مقادير Identity ايجاد می شود، فراهم نمی کند. زيرا يک جدول می تواند شامل Guids چندگانه باشد، اما فقط يک Identity منحصر به فرد باشد. اگر چه، تابع NEWID که SQL Server آن را به صورت پيش فرض در نظر می گيرد زمانی که خصوصيات IsrowGuid ، Yes می شود. يک Guid جديد بر خواهد گشت زمانی که سطر قرار داده می شود.
اضافه کردن يک ستون Data در جدول
1- در يک سل خالی در ستون Column Name کليک کرده، Mydata را تايپ کرده و سپس Tab را فشار می دهيم. SQL Server ، char را به عنوان نوع داده در نظر می گيرد.
2- نوع داده را به datetime تغيير می دهيم. SQL Server طول ستون را به 8 تغيير می دهد.
3- در سل Sample Date Column Description را تايپ می کنيم.
اضافه کردن يک ستون Character به جدول
1- در يک سل خالی در ستون Column Name کليک کرده، Mychar را تايپ و سپس Tab را فشار می دهيم. SQL Server ، char را به عنوان نوع داده در نظر می گيرد.
انواع داده های Character
SQL Server دو نوع مختلف از ستونها Character را پشتيبانی می کند. طول ثابت شده و طول متغير که هر کدام در دو ""Flavors مختلف Unicode و Non-Unicode و 3 طول متفاوت می باشند. Unicode يک روش از علامت کد گذاری می باشد که انواع بايتهای دابل را پشتيبانی می کند. اگر يک ستون به طور طول متغير نمايان شود (برای مثال، varchar يا text برای داده های Non-Unicode و nvarchar و ntext برای داده هایUnicode ) و SQL Server فقط خصوصيت داده های معين وارد شده را ذخيره خواهد ساخت. از طرف ديگر اگر ستون به صورت طول ثابت شده نمايان شود (char برای Non-Unicode داده nchar برای داده های Unicode) و SQL Server مقادير وارد شده را با فضاهای Pad خواهد کرد.
2- طول ستون را به 25 تغيير می دهيم.
3- در سل Description ، Sample Character Column را تايپ می کنيم.
4- Unknown را در سل Default Valve تايپ می کنيم (اطمينان حاصل کنيد که اطراف کلمه ويرگول داشته باشد).
مقادير پيش فرض
يک Default Valve يک عددی می باشد که در داخل يک ستون قرار خواهد گرفت اگر کاربر به طور آشکار يکی را فراهم نکند. ما تاکنون دو نوع ويژه از مقادير پيش فرض را ديده ايم default Values به وسيله SQL Server تهيه می شود زمانی که شما Identity Property را تنظيم می کنيد و تابع NEWID به وسيله SQL Server تهيه می شود زمانی که شما IsrowGuid را تنظيم می کنيد. در حقيقت، شما می توانيد مقادير پيش فرض را برای هر ستون مشخص کنيد. مقادير پيش فرض می تواند دائمی باشد مانند "Unknown" يا 123 توابعی از قبيل NEWID يا GETDATE يا عبارات رياضی مانند 5+3 .
ذخيره کردن و بستن جداول
1- دکمه Save را در نوار ابزار Table Designer کليک می کنيم. SQL Server تعريف جدول را ذخيره می سازد.
2- پنجره را می بنديم.
مديريت جداول
اگر چه "Best Practice" امر می کند که طراحی پايگاه داده تان بايد ثابت باشد قبل از اينکه شما پياده سازی را شروع کنيد. خوشبختانه SQL Server به انجام رسانی وظايف نگهداری را آسان می سازد.
تغيير دادن ستونها
شما می توانيد مجدد Table Designer را برای يک جدول به وسيله کليک راست کردن نام جدول در قاب Details باز کنيد و Design Table را از منوی Context انتخاب کنيد. همان موقعی که Table Designer باز می شود شما می توانيد خصوصيات ستونهای موجود را تغيير دهيد آنها را حذف و يا ستون جديدی را اضافه کنيد.
تغيير نام يک ستون
1- پوشه Tables را برای پايگاه داده Aromatherapy در درخت Console انتخاب می کنيم. SQL Server يک ليستی از جداول در قاب Details را نشان می دهد.
2- جدول 5 Lesson را در قاب Details کليک راست کرده و Design Table را انتخاب می کنيم. SQL Server ، Table Designer را باز می کند.
3- Mychar را در سل Column Name انتخاب و MyCharacter را تايپ می کنيم. SQL Server ، Column Name را تغيير می دهد.
4- دکمه Save را در نوار ابزار Table Designer کليک کرده و تغييرات را ذخيره می سازيم.
برداشتن يک ستون
1- ستون Mydate را به وسيله کليک کردن روی gray Boy در سمت چپ از Column Name انتخاب می کنيم.
2- کليد Delete را فشار می دهيم. SQL Server ستون را برمی دارد.
3- کليد Save را برای ذخيره کردن تغييرات کليک می کنيم.
4- پنجره Table Designer را می بنديم.
تغيير دادن جداول
به طور کلی برای تغيير تعريف ستونهای يک جدول، Enterprise Manager تغيير نام دادن جداول را آسان می سازد و جداول را از پايگاه داده حذف می کند.
تغيير نام يک جدول
1- پوشه Table را در پايگاه داده Aromatherapy در درخت Console راهبری می کنيم. SQL Server يک ليستی از جداول در قاب Details نشان می دهد.
2- جدول 5 Lesson را در قاب Details کليک راست کرده و Rename را انتخاب می کنيم.
3- New Lesson 5 را تايپ و Enter را فشار می دهيم. SQL Server کادر محاوره ای Rename را نشان می دهد که به شما اخطار می کند که تغيير در نام جدول هر رابط برای آن را در شئی های ديگر، باطل خواهد کرد.
4- View Dependencies را برای نشان دادن هر شئی که ممکن است به وسيله تغييرات تأثير يابد را کليک می کنيم. SQL Server کادر محاوره ای Dependencies را باز می کند.
5- Close را برای مرخص کردن کادر محاوره ای کليک می کنيم.
6- Yes را در کادر محاوره ای Rename برای تأييد تغيير نام کليک می کنيم. SQL Server نشان می دهد يک متنی را که تکميل موفقيت آميز تغيير نام را تأييد می کند.
برداشتن يک جدول
1- New Lesson 5 را در قاب Details انتخاب می کنيم.
2- کليد Delete را فشار می دهيم. SQL Server کادر محاوره ای Drop Object را نشان می دهد.
راهنمايی: شما می توانيد دکمه Show Dependencies را برای نشان دادن هر Objects که متأثر خواهد شد به وسيله حذف جدول کليک کنيد.
3- Drop All را کليک می کنيم. SQL Server جدول را از پايگاه داده برمی دارد.
مهم: زمانی که شما يک جدول را حذف می کنيد، جدول و همه داده هايش به طور دائمی از پايگاه داده برداشته می شود و تنها راه برای بازگرداندن آن نسخه پشتيبان پايگاه داده می باشد.
Security
02-02-07, 18:37
برای کار با اطلاعات در بانک های اطلاعاتی زبانی مخصوص همان بانک وجود دارد که از آن زبان برای دستکاری اطلاعات و مرتب کردن آنها در بانک استفاده میشود.بانک اطلاعاتی Sql server و همچنین Access و نیز Oracle (البته تا حدودی) از یک زبان واحد برای اینکار استفاده میکنند . در این سری مقالات دستورات ساده SQL را خواهید آموخت . تعدادی ازین دستورات به قرار زیر است که زیر هر کدام از آنها قالب دستوری شان نیز نوشته شده که بزودی بصورت کامل شرح داده خواهند شد . یادگیری هر یک از این دستورات پیش نیاز بعدی میباشد . پس با ما همراه باشید .
Select
SELECT "column_name" FROM "table_name"
Distinct
SELECT DISTINCT "column_name"
FROM "table_name"
Where
SELECT "column_name"
FROM "table_name"
WHERE "condition"
And/Or
SELECT "column_name"
FROM "table_name"
WHERE "simple condition"
{[AND|OR] "simple condition"}+
In
SELECT "column_name"
FROM "table_name"
WHERE "column_name" IN ('value1', 'value2', ...)
Between
SELECT "column_name"
FROM "table_name"
WHERE "column_name" BETWEEN 'value1' AND 'value2'
Like
SELECT "column_name"
FROM "table_name"
WHERE "column_name" LIKE {PATTERN}
Order By
SELECT "column_name"
FROM "table_name"
[WHERE "condition"]
ORDER BY "column_name" [ASC, DESC]
Count
SELECT COUNT("column_name")
FROM "table_name"
Group By
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
Having
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
HAVING (arithematic function condition)
Create Table
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )
Drop Table
DROP TABLE "table_name"
Truncate Table
TRUNCATE TABLE "table_name"
Insert Into
INSERT INTO "table_name" ("column1", "column2", ...)
VALUES ("value1", "value2", ...)
Update
UPDATE "table_name"
SET "column_1" = [new value]
WHERE {condition}
Delete From
DELETE FROM "table_name"
WHERE {condition}
که البته در موارد بعدی این دستورات را بیشتر توضیح میدم.
چند نکته :
Query : به معنای درخواست است و در sql به کد جستجویی می گویند که شما برای بدست آوردن نتیجه ای آن را مینویسید و اجرا می کنید .
Resault set : نتیجه بدست آمده از یک Query را میگویند.
Database : پایگاه داده را دیتابیس میگویند که میتواند شامل جداول و ماژول های ما باشد
Security
02-02-07, 19:06
CREATE TABLE: جداول ساختمان بندی پایه یک بانک اطلاعاتی اند که اطلاعات را در خود جای میدهند . برنامه های بسیاری هستند که بدون استفاده از کد های sql برای شما جدول میسازند . اما یادگیری این دستورات برای کسی که با جداول و دیتابیس کار میکند ضروری است.
قبل از یادگیری گرامر دستوری ساخت جدول ، باید منطق و اصول ساخت جدول را بیاموزید . جداول به سطرها (ROW) و ستون ها (COLUMN) تقسیم میشوند . هر سطر یک رکورد از اطلاعات را در خود جای داده است.هر سطر چند فیلد دارد .
مثال : مثلا کارنامه مدارس را در نظر بگیرید .مثلا 3 ستون دروس ، نمره و تاریخ دارد و سطر های آن هر کدام شامل سه بخش هستند طبق دسته بندی ستون هایش .
سطر اول : ریاضی – 12 - 12/3/1384
سطر دوم : فیزیک – 14 - 16/3/1384
و بهمین ترتیب .پس هر سطر جدول را یک رکورد می نامیم . هر ستون جدول (فیلد) دارای یک نوع داده است . در مثال فوق ستون دروس از نوع string و ستون نمرات از نوع integer و ستون تاریخ از نوع date است . هنگام ساخت جدول که فیلد هایش را مشخص میکنید باید نوع داده ای فیلد ها نیز مشخص گردد. کد ساخت جدول بصورت زیر میباشد :
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
-----------------------------------------------------------------------------------------
DROP TABLE : گاهی ما دلمون میخواد که بهر دلیلی از دست یک جدول در پایگاه داده خود راحت شویم . SQL این امکان رو برای ما فراهم کرده و ما میتونیم برای پاک کردنش از کد زیر استفاده کنیم .
DROP TABLE "table_name"
مثال :
DROP TABLE customer.
-----------------------------------------------------------------------------------------
TRUBCATE TABLE : گاهی ما میخواهیم که اطلاعات داخل یک جدول رو پاک کنیم . اما نمیخواهیم خود جدول پاک شود. برای اینکار ازین دستور کمک میگیریم :
TRUNCATE TABLE "table_name"
مثال :
TRUNCATE TABLE customer.
-----------------------------------------------------------------------------------------
INSERT INTO : برای ورود اطلاعات داخل یک جدول دو راه وجود دارد. یکی اینکه رکورد ها را تک تک وارد کنیم (سطر به سطر) و یکی اینکه یکدفعه چندین سطر را وارد جدول کنیم . برای وارد کردن اطلاعات بصورت سطر به سطر با کد زیر عمل میکنیم .
INSERT INTO "table_name" ("column1", "column2", ...)
VALUES ("value1", "value2", ...)
در این دستور جلوی کلمه INSERT INTO اسم جدول خود را می نویسیم.
بعد در قسمتی که نوشته column نام فیلدهایی که می خواهیم رکورد به آنها اضافه کنیم را می نویسیم و در آخر جای value1 و ... مقداری را که میخواهیم به آن رکورد اختصاص دهیم را قرار میدهیم .
----------------------------------------------------------------------------------------
UPDATE : گاهی ما در یک جدول اطلاعاتی داریم و میخواهیم مقداری را در جدول تغییر دهیم .برای اینکار از دستور UPDATE استفاده می کنیم .
UPDATE "table_name"
SET "column_1" = [new value]
WHERE {condition}
-------------------------------------------------------------------------------------
Delete : برای پاک کردن یک رکورد از جدول ازین کد استفاده میکنیم .
DELETE FROM "table_name"
WHERE {condition}
مثلا میخواهیم اطلاعات سایت p30world رو پاک کنیم :
DELETE FROM Store_Information
WHERE store_name = "p30world.com"
Security
02-02-07, 19:13
دستور SELECT
دستور SELECT
پايه و اساس همه داده های رابطه ای در محيط SQL Server يک حالت Transact-SQL تنها است که عبارت Select می باشد. در اين درس ما به مهمترين ترکيبات حالت Select و راههای استفاده کردن از Query Designer برای ساختن خودکار عبارت می پردازيم. با استفاده از Query Designer شما می توانيد يک عبارت Select را مستقيماً در قاب SQL وارد سازيد يا با داشتن Query Designer آن را به وسيله قابهای Grid و Diagram بسازيد. گزينه ها متقابلاً منحصر به فرد نمی باشند. شما می توانيد يک Query را به وسيله اضافه کردن جداول برای قاب Diagram ، تغيير نام ستون با استفاده از قاب Grid شروع کنيد و دستورات را به طوری که سطرها برگردانده می شود به وسيله وارد کردن شرط ORDER BY به صورت مستقيم در قاب SQL مشخص کنيد.
تمرينهای درس يک گونه ای از تکنيکها را به شما نشان خواهد داد. موقعی که خودتان کار می کنيد شما می توانيد يکی را که در زمان ساده تر به نظر می رسد را انتخاب کنيد.
شناختن عبارت SELECT
ساختار دستور عبارت Select خيلی پيچيده می باشد که دارای چندين شرط و اپراتور می باشد اما ساختار اصلی کاملاً ساده می باشد.
Select [ Top n [PERCENT] ] Column-List
From Source-List
[ Where Search-Condition ]
[ ORDER By Expression ]
فقط اولين و دومين شرط از عبارت Select مورد نياز می باشد. اولين شرط، Select Column-List مشخص می کند ستونهايی که به وسيله Query بازگردانده خواهد شد. ليست Column می تواند شامل ستونهای اصلی از جداول و نماهايی باشد که بر روی Query پايه ريزی شده است يا اينکه می تواند شامل ستونهای محاسباتی اقتباس شده از ستونهای اصلی باشد. دومين شرط، From Source-LIST ، نماها و جداول را که در Query پايه ريزی شده مشخص می کند.
انتخاب کردن تمام ستونها
ساده ترين شکل از عبارت Select آن انتخابی است که همه ستونها از يک جدول تکی را انتخاب می کند. با بيشترين نسخه های زبان SQL ، Transact-SQL اجازه می دهد به شما به استفاده از (*) به عنوان يک Shorthand برای مشخص کردن تمام ستونها، بنابراين اين فرم ساده از عبارت اين چنين است:
SELECT *
FROM Table-Name
انتخاب همه ستونها
1- Query Designer را برای Properties Table به وسيله کليک راست کردن نام آن در قاب Detail Enterprise Manager باز می کنيم، روی زير منوی Open Table رفته و Return All Rows را انتخاب می کنيم. SQL Server ، Query Designer را برای جدول باز می کند.
2- قاب SQL را به وسيله کليک کردن دکمه قاب SQL روی نوار ابزار Query Designer راه می اندازيم. Query Designer قاب SQL را نشان می دهد.
3- عبارت SQL را برای نشان دادن همه ستونها از جدول Oils تغيير می دهيم.
4- دکمه Run را روی نوار ابزار Query Designer برای به اجرا در آوردن Query کليک می کنيم. Query Designer همه رکوردها در جدول Oils را نشان می دهد.
راهنمايی: شما می توانيد بيشتر سطرها را در قاب Results به وسيله درج کردن درايور قاب بين قابها نشان دهيد.
انتخاب زير مجموعه از ستونها
اگر چه ساختار دستور Select * آسان و سريع می باشد، شما اغلب بيشتر می خواهيد که Query تان فقط به ستونهای انتخاب شده باز گردد. اين با مشخص کردن ستونها در Column-List از شرط Select به انجام می رسد.
انتخاب ستونها با استفاده از قاب SQL
1- علامت * را در عبارت Select با تايپ کردن نام ستون Oil Name جايگزين می کنيم.
2- دکمه Run را روی نوار ابزار Query Designer برای به کار بستن Query کليک می کنيم. Query فقط ستون Oil Name را نشان می دهد.
انتخاب ستونها با استفاده از قاب Diagram
1- قاب SQL را پنهان کرده و قاب Diagram را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer نشان می دهيم.
2- فيلد LatinName را در قاب Diagram کليک کرده Query Designer قاب Results به جهت اينکه زياد معتبر نيست کم نور نشان می دهد.
3- دکمه Run را برای به کارگيری Query کليک کرده Query Designer هر دو ستون Latin Name و Oil Name را در قاب Results نشان می دهد.
ايجاد کردن نام مستعار ستون
به طور پيش فرض، يک ستون در يک Query نام يکسان دارد که در جدول يا نمای مورد نظر می باشد. اگر چه اغلب تغيير دادن نام آن مفيد می باشد. نامتناسب به نظر می رسد که فيلد به کاربر بدين صورت ( "My Long Column Name With No Spaces" ) يا اينکه به طور خلاصه اين چنين 32713 PK-Varchar-50-Col نشان داده شود. عبارت Select به شما اجازه می دهد که يک ستون را در Query به وسيله ايجاد يک alias تغيير نام دهيد. نام مستعار، نام ستون را در Query تغيير می دهد نه در جدول.
ايجاد يک نام مستعار برای ستون با استفاده از قاب Grid
1- قاب Diagram را پنهان کرده و قاب Grid را به وسيله کليک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهيم.
2- يک نام مستعار برای ستون OilName به وسيله تايپ کردن OilName در فيلد alias ايجاد می کنيم. Query Designer به طور خودکار در اطراف alias پرانتز اضافه کرده زيرا alias شامل يک فضا می باشد.
راهنمايی: پرانتزهای چهارگوش در خروجی Query نشان داده نخواهند شد. آنها به نحوه آسان به SQL Server می گويند که با عبارت "Oil Name" به عنوان يک نام مجزا برخورد کنيم. پرانتزها فقط موقعی مورد نياز می باشند که نام مستعار شامل يک جای خالی باشد، اما آنها می تواند برای نام هر ستون استفاده شود.
3- دکمه Run را روی نوار ابزار Query Designer برای مجدد به کار بستن Query کليک می کنيم. SQL Server نام را در سر ستون با جای خالی اضافه شده بين دو کلمه نشان می دهد.
ايجاد نام مستعار ستون با استفاده از قاب SQL
1- قاب Grid را پنهان کرده و قاب SQL را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer نشان می دهيم.
2- [ Latin Name ] را به عنوان نام مستعار برای دومين ستون اضافه می کنيم.
3- دکمه Run را روی نوار ابزار Query Designer برای به کارگيری Query کليک می کنيم. Query Designer نام را در سر ستون با يک فضای خالی بين دو کلمه نشان می دهد.
ايجاد کردن ستونهای محاسباتی
علاوه بر اينکه ستونها به طرز ساده اطلاعات را در جداول Underlying و نماها نشان می دهد، همچنين Query تان می تواند شامل ستونهايی باشد که محاسبه شده اند بر اساس داده های Underlying ، توابع SQL Server يا هر ترکيب دوتايی. ستون محاسباتی به وسيله مشخص کردن يک عبارت به عنوان ستون ايجاد می گردد.
ما به عبارات Transact-SQL در Detail در درس 21 "The Transact-SQL Language" می پردازيم. بنابراين در اين تمرين ما فقط يک جفت از عبارات ساده که بر اساس اپراتور الحاق رشته Transact-SQL که دو رشته و تابع GETDATE را که داده ها و زمان سيستم جاری را باز می گرداند اضافه می کنيم.
ايجاد کردن يک ستون محاسباتی با استفاده از قاب Grid
1- قاب SQL را پنهان کرده و قابGrid را به وسيله کليک کردن دکمه روی نوار ابزار Query Designer نشان می دهيم.
2- در هر سل ستون خالی در قاب Grid کليک کرده و Oil Name +' – '+ Latin Name را تايپ می کنيم.
راهنمايی: شما می توانيد سل ها را در قاب Grid به وسيله درج کردن خطوط تقسيم بين سر ستونها عريض تر سازيد.
3- کليد Tab را فشار می دهيم. SQL Server ، 1 Expr را به عنوان نام مستعار ستون پيشنهاد می دهد.
4- نام مستعار را برای Extended Name تغيير می دهيم.
5- دکمه Run را برای به کارگيری مجدد Query کليک می کنيم. Query Designer ستون جديد را در قاب Results نشان می دهد.
ايجاد کردن يک ستون محاسباتی با استفاده از قاب SQL
1- قاب Grid را پنهان کرده و قاب SQL را به وسيله کليک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهيم.
2- GETDATE را به عنوان [ Today’s Data ] برای ليست ستون از شروط Select اضافه می کنيم.
راهنمايی: کاما را قبل از GETDATE فراموش نکنيد.
3- دکمه Run را در نوار ابزار Query Designer برای به کارگيری مجدد Query کليک می کنيم. SQL Server تاريخ جاری در هر سطر را نشان می دهد.
استفاده کردن از شرط Top n
زمانی که شما دستور Return Top را از منوی متن جدول انتخاب می کنيد. SQL Server شرط Top n را در پايين پوششها برای ايجاد صفحه نمايش در Query Designer استفاده می کند. علاوه بر اينکه يک شماره مشخصی از سطرها را مشخص می کنيد شما می توانيد همچنين يک درصد از سطرها را به وسيله استفاده کردن از شرط Top n Percent نشان دهيد. همان طوری که شما ممکن است انتظار داشته باشيد درصدی از سطرهای مشخص شده را باز می گردانيم.
نشان دادن سطرهای Top s
1- Top 5 را قبل از اولين کلمه در Column-List از شروط Select در قاب SQL اضافه می کنيم.
2- دکمه Run را در نوار ابزار Query Designer برای به کارگيری مجدد Query کليک می کنيم. SQL Server فقط 5 سطر اول را نشان می دهد.
نشان دادن Top 5 درصد از سطرها
1- کلمه Percent را بعد از Top 5 در قاب SQL اضافه می کنيم.
2- دکمه Run را در نوار ابزار Query Designer برای به کارگيری Query کليک می کنيم. SQL Server فقط 5 درصد اول از سطرها را در SQL Server نشان می دهد.
لازم به ذکر است که بیشترین کاربرد و حرفه ای ترین دستور در SQL همین دستور SELECT هست .البته به شکل بسیار پیچیده تر از این مطالب ذکر شده .
Security
02-02-07, 19:26
ادامه مطالب در تاپیک های دیگر به این آدرس منتقل می شود :
Only the registered members can see the link