دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 9 , از مجموع 9

موضوع: آموزش SQLserver

  1. #1
    همکار بخش گرافیک و مالتی مدیا
    رشته تحصیلی
    Experimental Sciences
    نوشته ها
    736
    ارسال تشکر
    542
    دریافت تشکر: 1,341
    قدرت امتیاز دهی
    39
    Array

    Cool آموزش SQLserver

    معرفی SQL و دستورات عمومی آن
    توسط 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 پاك كردن يك انديس

    SQL و Active Server Pages - ASP :
    SQL يكي از قسمتهاي خيلي مهم ASP ميباشد زيرا در ASP براي كار با بانكهاي اطلاعاتي از SQL استفاده ميشود. و توسط تكنولوژي ADO ميتوان از SQL در ASP استفاده كرد.
    دستور SELECT :
    SELECT column-name(s) FROM table-name
    مثال :
    نام جدول Persons است
    Last Name First Name Address City
    Hasani Ali Esfahan



    دستور Select همراه با شرط

    SELECT column FROM table WHERE column condition value
    عملگر ها در SQL:
    عملگر مفهوم
    = معادل بودن
    <> برابر نبودن
    > بزرگتر


    دستور DISTINCT (جداسازي) :

    SELECT DISTINCT column-name(s) FROM table-name
    مثال :
    نام جدول Order است Company Order Number
    sega 3412


    --------------------------------------------------------------------------------

    دستور Order By :

    براي مرتب كردن سطرها
    نام جدول Order است Company Order Number
    sega 3412
    ABS Shop 5678
    w3s 3212
    W3S 6778
    مثال :
    SELECT Company , OrderNumber


    دستور Insert :

    INSERT INTO Table-Name ( Column1 , Column2) VALUES

    مثال :
    DELETE FROM Person WHERE Lastname=’hasani’ نام جدول Persons است last name First name Adress city
    alian hasani NO 40 Esfahan
    Hasani Ali No 15 Tehran
    نتيجه :
    last name First name Adress city
    alian hasani NO 40 Esfahan
    SEGA
    W3S
    Trio


    --------------------------------------------------------------------------------

    دسترسي به يك پايگاه داده از يك صفحه ASP :

    ١-ايجاد يك ADO Connection به يك پايگاه داده
    2-باز كردن Connection پايگاه داده
    3-ايجاد يك
    ADO Record Set 4-باز كردن
    Record set 5-گرفتن داده هايي كه نياز داريم از
    Record Set 6-بستن
    Record Set 7-بستن
    Connection


    --------------------------------------------------------------------------------

    1-ايجاد يك ADO Connection به يك پايگاه داده

    ١-1- روش DSN-LESS C:/InetPub/wwwroot/nor.mdb مسير فايل نمونه
    < % var conn=Server. CreateObject ( “ADODB.
    Connection”) Conn. Provider=” Microsoft . Jet . OLEDB.4.0” Conn.Open
    (“C:/InetPub/wwwroot/nor.mdb”) % >


    --------------------------------------------------------------------------------

    2- روش ODBC

    -2- روش ODBC : در اين روش ابتدا بايد يك ODBD Connection به Data Base ايجاد كنيم و سپس از طريق ADO به فايل DSN به طريق زير Connect كنيم.
    < % var conn=Server. CreateObject

    --------------------------------------------------------------------------------


    ايجاد يك ODBC Connection به پايگاه داده MS Access :

    ١- وارد شدن به ODBC از Control Panel
    2- انتخاب
    System DSN 3- كليك كردن روي دكمه ADD
    4- انتخاب Microsoft Access Driver و كليك كردن روي دكمه
    Finish 5- در مرحله بعد كليك كردن بر روي دكمه Select و تعيين محل پايگاه داده
    6- دادن يك نام در قسمت
    Data Source Name 7- كليك كردن روي دكمه OK براي اينكه قادر باشيم اطلاعات يك پايگاه داده را بخوانيم اطلاعات بايد ابتدا در Record Set ، Load شوند. بنابر اين بعد از ساختن يك Connection بايد يك Record Set ايجاد كنيم.
    مثال :
    نام Data Base = nor.mdb
    نام جدول =
    Customer C:/Inetpub/wwwroot/nor.mdb Data Base مسير فايل < % conn= Server. CreateObject ( “ADODB.Connection”)
    Connection ايجاد
    conn.Provider=”Micrisoft.Jet.OLEDB.4.0” conn . Open (“C:/WebData/ nor.mdb”) Connection بازكردن rs=Server. CreateObject (“ADODB.Recordset”)
    Record Set ايجاد rs. Open(“Customer”, conn) Record Set بازكردن % > در اين مثال تمام محتويات جدول Customer به rs ريخته ميشود.
    حال ميخواهيم در انتخاب محتوياتي از Customer كه ميخواهند به rs انتقال داده شوند از دستور SQL استفاده كنيم.

    --------------------------------------------------------------------------------


    ساختن يك Connection و Record Set و به كار بردن SQL :

    < % set conn=Server. CreateObject (“ADODB .Connection”
    conn. Provider=”Microsoft.jet.OLEDB.4.0” conn.
    Open ( “C:/Inetpub/wwwroot/nor.mdb”) (Record Se


    --------------------------------------------------------------------------------


    گرفتن داده هايي كه نياز داريم از Record Set :

    بعد از اينكه Record Set را باز كرديم ميتوانيم به داده هايي كه نياز داريم دسترسي داشته باشيم.
    مثال :
    دسترسي به فيلد name از جدول rs rs(name


    --------------------------------------------------------------------------------


    چاپ داده ها :

    مثال : چاپ فيلد name از جدول rs Response.write(rs(n



    بستن Recordset و Connection :

    - براي بستن Recordset
    rs.close() - براي بستن Connection


    خلاصه سازی داده ها

    هنگامی که دو جدول در يک پيوند يک به چند سهيم هستند. وسيله محرک Query مقاديری از سطر را از يک طرف برای ارتباط دادن سطرها در طرفهای ديگری تکرار می کند. بعضی مواقع آن دقيقاً چيزی است که شما می خواهيد، اما اغلب شما می خواهيد تکرار کردن سطرها را از چندين طريق دسته بندی يا خلاصه سازيد. در اين درس، ما به دو روش برای انجام آن که عبارتند از کليد واژه DISTINCT و شرط GROUP BY نگاه خواهيم کرد.

    شناختن SELECT DISTINCT
    يکی از اهداف طرح پايگاه داده ارتباطی برداشتن وابستگی داده ها می باشد. اما بيشتر پايگاه داده به طور ضروری مقادير واقعی در چندين سطر را شامل خواهد شد. يک جدولی که شامل اطلاعات آدرس مشتری می باشد برای مثال احتمالاً کد ايالتی و کشوری برای چندين سطر خواهد داشت که نه اشتباه و نه تکراری می باشد. نظر به اينکه هر کد ايالتی نسبتی از يک مشتری می باشد. به همين نحو يک جدول از چندين جهت از يک ارتباط يک به چند ممکن است هر مقدار کليد خارجی معلوم که چندين بار تکرار شده را داشته باشد. آن برای يک ارتباط يکپارچه از پايگاه داده لازم می باشد. اگر چه اين تکرار می تواند بعضی مواقع نتايج Query را نامطلوب سازد. يک جدول مشتری با 1000 سطر با 90 درصد مشتری از کاليفرنيا، Query زير کد CA را 9000 بار خواهد باز گرداند که اصلاً يک نتيجه مفيدی نمی باشد.
    SELECT State From Customer
    کليد واژه Distinct در اين موقعيت شما را کمک می کند. Distinct که درست بعد از SELECT قرار می گيرد به SQL Server دستور داده که سطرهايی چندگانه در قرارگيری نتايج را حذف نمايد. بنابراين Query زير هر کد ايالتی را فقط يک بار باز می گرداند به طور وضوح ليستی که شما جستجو می کنيد.
    SELECT DISTINCT State From Customer
    راهنمايی: همتای کليد واژه Distinct ، All می باشد که SQL Server را برای بازگرداندن همه سطرها آگاه می سازد خواه آن واحد باشد يا خير. از موقعی که اين يک عملکرد پيش فرض از يک عبارت SELECT می باشد All به طور معمول استفاده نمی گردد. اما شما ممکن تصميم بگيريد به در برداشتن آن اگر ساختار دستور Query را بيشتر قابل فهم سازيد.

    استفاده کردن از SELECT DISTINCT
    کليد واژه Distinct می تواند در عبارت SQL از Query Distinct يا به وسيله تنظيمات Properties از Query مشخص گردد.

    ايجاد کردن Distinct Query با استفاده از قاب دياگرام
    1- Query Designer را برای جدول Oils به وسيله کليک راست کردن نام جدول در قاب Details باز کرده روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم.
    2- قاب دياگرام را به وسيله کليک کردن روی دکمه قاب دياگرام در نوار ابزار Query Designer نشان می دهيم.
    3- دکمه Add Table را کليک می کنيم. Query Designer کادر محاوره ای Add Table را نشان می دهد.
    4- Plantparts را در ليست جدول انتخاب می کنيم و سپس Add را کليک می کنيم. Query Designer جدول را به Query اضافه می کند.
    5- Close را برای بستن کادر محاوره ای کليک می کنيم.
    6- دکمه قاب SQL را در نوار ابزار Query Designer کليک می کنيم. قاب SQL ، Query Designer را نشان می دهد.
    7- علامت * بعد از کليد واژه SELECT را حذف می کنيم.

    8- دکمه قاب SQL را در نوار ابزار Query Designer کليک می کنيم (OK را اگر Query Designer يک متن خطا درباره ساختار دستور عبارت SELECT نشان می دهد کليک می کنيم). Query Designer قاب SQL را پنهان می سازد.
    مهم: زمانی که شما Query Designer را باز می کنيد حالت SQL پيش فرض معمولاً SELECT* می باشد. ستون ويژه در قاب دياگرام به سبب اينکه آنها به ليست ستون اضافه می شوند انتخاب می گردند. مايکروسافت اين را يک ويژگی در نظر می گيرد.
    9- در قاب دياگرام فقط ستون Plantpart را از جدول Plantparts برای نشان دادن انتخاب می کنيم.

    10- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer هر مقدار Plantpart را چندين بار ليست می کند.

    11- در يک ناحيه خالی از قاب دياگرام کليک راست کرده و Properties را انتخاب می کنيم. Query Designer کادر محاوره ای Properties را نشان می دهد.

    12- گزينه مقادير Distinct را انتخاب می کنيم.

    13- Close را برای بستن کادر محاوره ای کليک می کنيم.
    14- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer هر مقدار را فقط يک بار نشان می دهد.

    ايجاد کردن يک SELECT DISTINCT با استفاده از قاب SQL
    1- قاب دياگرام را پنهان ساخته و قاب SQL را نشان می دهيم.
    2- عبارت SELECT موجود را با متن زير جايگزين می کنيم.
    SELECT DISTINCT Plant Types Plant Type
    FROM Oils INNER Join
    Plant Types ON Oils Plant Type ID=Plant Types Plant Type ID

    3- دکمه Run را برای اجرا مجدد Query کليک می کنيم. Query Designer مقدار PlantType متمايز که به وسيله جدول Oils بازگشت شده را نشان می دهد.


    شناختن GROUP BY
    کليد واژه Distinct امر می کند. SQL Server را به بازگرداندن سطرهای واحد نظر به اينکه شرط GROUP BY ، SQL Server را به ترکيب سطرها با مقادير يکسان در ستون يا ستونهای مشخص شده در شرط در داخل سطر تکی امر می کند.
    مهم: هر ستونی که در شرط GROUP BY شامل می باشد بايد در خروجی Query شامل گردد.
    شرط GROUP BY اغلب با يک aggregate Function استفاده می گردد. يک aggregate Function محاسبات در مجموعه از مقادير را به انجام می رساند و يک نتيجه تک مقداری را باز می گرداند. رايج ترين گزينه های به هم پيوسته استفاده شده در پرس و جوهایGROUP BY ، MIN می باشد که کوچکترين مقادير را در مجموعه باز می گرداند. MAX که بزرگترين مقادير در مجموعه را باز می گرداند و COUNT که تعدادی از مقادير را در يک مجموعه باز می گرداند.

    استفاده کردن از GROUP BY
    شرط GROUP BY می تواند مشخص شود با استفاده کردن از هر يک از قابها در Query Designer ، اما قابهای SQL و Grid بيشترين کنترل را فراهم می سازد.

    ايجاد کردن يک GROUP BY Query با استفاده از قاب Grid
    1- قاب SQL را پنهان ساخته و قاب Grid را نشان می دهيم.

    2- ستون OilName را برای Query اضافه می کنيم.

    3- دکمه Group By را در نوار ابزار Query Designer کليک می کنيم. Query Designer يک ستون Group By برای شبکه اضافه می کند و هر دوی مقادير را برای Group By قرار می دهد.

    4- سل Group By را برای تغيير دادن سطر OilName به Count تغيير می دهيم.

    5- دکمه Run را برای اجرا مجدد Query کليک می کنيم. Query Designer تعدادی از Oils را برای هر PlantType نشان می دهد.


    ايجاد کردن يک Group By Query با استفاده از قاب SQL
    1- قاب شبکه را پنهان ساخته و قاب SQL را نشان می دهيم.

    2- عبارت SELECT موجود را با متن زير جايگزين می کنيم.
    SELECT Plant parts Plant part Count (Oils Oil Name) As Number Of Oils
    FROM Oils INNER Join
    Plant parts ON Oils Plant part ID=Plant parts Plant part ID
    GROUP BY Plant parts Plant part

    3- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer مقدار oils برای هر Plantpart نشان می دهد.

    استفاده کردن از شرط HAVING
    شرط Having سطرهای بازگردانده شده به وسيله شرط GROUP BY را از همان راهی که يک شرط Where سطرهای بازگردانده شده را به وسيله شرط SELECT محدود می سازد. هر دو شرط Where و Having می تواند در يک عبارت SELECT شامل شود که شرط Where قبل از گروه بندی علميات و شرط Having بعد از آن به کار برده می شود. ساختار دستور شرط Having همانند شرط Where می باشد به استثنای اينکه شرط Having می تواند شامل يکی از توابعهای به هم پيوسته باشد که در ليست ستونها از شرط SELECT قرار می گيرد. اگر چه شما بايد توابع به هم پيوسته را تکرار کنيد. برای مثال شرط Having که در حالت زير استفاده شده صحيح می باشد.
    SELECT Plant parts Plant part Count (Oils Oil Name) As Number Of Oils
    FROM Oils INNER Join
    Plant parts ON Oils Plant part ID=Plant Parts Plant part ID
    GROUP BY Plant parts Plant part
    HAVING Count (Oils Oil Name)>3
    اگر چه شما نمی توانيد از اسم مستعار برای تابع Count در شرط Having استفاده کنيد. بنابراين شرط Having زير درست نخواهد بود.
    HAVING Number Of Oils>3

    ايجاد کردن يک Query با استفاده از HAVING در قاب Grid
    1- قاب SQL را پنهان ساخته و قاب Grid را نمايش می دهيم.

    2- 5Add> را برای سل مورد نظر از ستون oil Name قرار می دهيم.

    3- دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کليک می کنيم.


    ايجاد کردن يک Query با استفاده از HAVING در قاب SQL
    1- قاب Grid را پنهان ساخته و قاب SQL را نشان می دهيم.

    2- شرط Having را برای HAVING (Count (Oils Oil Name)<5) تغيير می دهيم.

    3- دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کليک می کنيم. Query Designer فقط آن Plantparts که Oils اشتراکی کمتر از 5 دارد را نشان می دهد.


    مرتب سازی و انتخاب کردن سطرها
    در فصل گذشته ما بيشترين فرمهای مقدماتی از حالت SELECT را مرور کرده و آنها را برای انتخاب ستونهای يک جدول استفاده کرديم. اما بيشتر مواقع شما بازگشت به سطرها در جدول پس زمينه يا نمايش در يک قاعده خاص و فقط بازگشت به يک زير مجموعه از آنها را خواهيد خواست. شرطهای ORDER BY و WHERE در اين درس بررسی شده و اجرای آن برای شما فراهم شود.

    شرط ORDER BY
    شرط The ORDER BY يک ترکيب گزينه ای از يک حالت SELECT می باشد. آن به شما برای مشخص کردن ترتيب در آن سطرهايی که بازگشت خواهند کرد اجازه می دهد. ستونهای چندگانه می توانند مشخص شوند و سطرها می توانند به صورت ترتيب افزايشی يا کاهشی باز گردانده شوند.

    مرتب سازی سطرها
    ساده ترين فرم در شرط ORDER BY فراهم می سازد يک نام ستون تکی که برای مرتب کردن سطرها که به وسيله Query باز گردانده می شود استفاده خواهد شد.

    مرتب کردن سطرها با استفاده از قاب Grid
    1- Query Designer را برای جدول Oils به وسيله کليک راست کردن نام آن در قاب Details باز می کنيم. به زير منوی جدول Open رفته و همه ستونهای بازگشتی را انتخاب می کنيم. SQL Server ، Query Designer را برای جدول باز می کند.
    2- قاب Grid را به وسيله کليک راست کردن دکمه قاب Grid در نوار ابزار Query Designer نشان می دهيم.

    3- فقط ستونهای OilID ، Oil Name ، LatinName را برای نمايش انتخاب می کنيم. Query Designer محتويات قاب Results را که کمرنگ شده برای نشان دادن اينکه با مشخصات Query زياد مربوط نمی باشد نشان می دهد.

    4- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer فقط ستونهای مشخص شده را نشان می دهد.

    5- نوع Sort فيلد Oil Name را صعودی قرار می دهيم.

    6- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer سطرهای مرتب شده با Oil Name را نشان می دهد.

    مرتب سازی سطرها با استفاده از قاب SQL
    1- قاب Grid را پنهان ساخته و قاب SQL را به وسيله کليک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهيم.

    2- DESC را بعد از شرط ORDER BY OilName اضافه می کنيم.

    راهنمايی: کليد واژه DESCبه SQL Server برگرداندن سطرها به ترتيب نزولی را ابراز می کند. کليد واژه ASC که گزينه ای می باشد سطرها را به ترتيب صعودی برمی گرداند.
    3- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نتايح را که با OilName ذخيره شده به صورت نزولی نشان می دهد.

    مرتب سازی ستونهای چندگانه
    شما می توانيد ستونهای چندگانه را در شرط ORDER BY مشخص کنيد. زمانی که ستونهای چندگانه مشخص می گردند ترتيب ستونها نتايج SQL Server را که به وسيله اولين ستون و سپس به وسيله دومين ستون و بنابراين چهارمين ستون مرتب خواهد شد مشخص می کند.
    راهنمايی: تمرينها در اين بخش از جدول OilOdors استفاده می کند که به صورت جدول الحاقی انجام وظيفه می کند که ارتباط چندبه چند بين جدول Oils و Odors را تجزيه و تحليل می کند. معمولاً شما کليدهای خارجی ترکيب شده در اين جدول را با استفاده از يک ارتباط تجزيه می کرديد.

    مرتب سازی سطرها با استفاده از قاب Grid
    1- پنجره شماره 1 را از منوی Window برای برگشت به درخت Console انتخاب می کنيم.
    2- Query Designer را برای جدول Oil Orders به وسيله کليک راست کردن نام آن در قاب Details باز کرده روی زير منوی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم. SQL Server ، Query Designer را برای جدول باز می کند.
    3- قاب Grid را به وسيله کليک کردن دکمه قاب Grid روی نوار ابزار Query Designer نشان می دهيم.

    4- * را در قاب Grid با نامهای دو فيلد جايگزين می کنيم. SQL Server محتويات از قاب Results را برای نشان دادن اينکه آن با مشخصات Query زياد در ارتباط نيست کم رنگ می کند.

    5- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer فقط ستونهای مشخص شده شما را نشان می دهد.

    6- نوع Sort هر دوی ستونها را صعودی قرار می دهيم.

    7- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer سطرهای مرتب شده را با اولين OilID و سپس با OdorID در داخل OilID نشان می دهد.


    مرتب کردن سطرها با استفاده از قاب SQL
    1- قاب Grid را پنهان کرده و قاب SQL را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer نشان می دهيم.

    2- ستونها را در شرط ORDER BY معکوس می کنيم.

    3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نتايج مرتب شده را با اولين OdorID و سپس با OilID نشان می دهد.

    4- پنجره Query Designer را می بنديم.

    شرط WHERE
    با استفاده از شرط اختياری WHERE از حالت SELECT شما می توانيد يک زير مجموعه از سطرها که باز گردانده می شوند را مشخص کنيد. برای مثال شما ممکن است بخواهيد فقط مشتريهايی که بيش از $1000 در 12 ماه قبل خرج کرده اند را ببينيد يا اينکه فقط نامهای Oil که با حرف R شروع می شوند را ببينيد. شما اين ملاکها را با استفاده از شرط WHERE مشخص خواهيد کرد.

    شرط WHERE BASIC
    Operator Meaning
    مساويست با = بزرگتر از < کوچکتر از >بزرگتر يا مساويست با =<کوچکتر يا مساويست با => مساوی نيست با <>
    کليد برای شرط WHERE يک ملاک انتخابی می باشد که مشخص می کند که کدام سطرها باز خواهند گشت. ساختار پايه ای از يک شرط WHERE ، WHERE می باشد. SQL Server يک حدود کاملی از اپراتورهای مقايسه ای را به طوری که در جدول B-1 نشان داده شده فراهم می سازد.


    مشخص شده در شرايط WHERE می تواند يک ارزش دائمی باشد مانند Red'''' يا 10000 يا می تواند باشد يک عبارتی که يک ارزش مانند GETDATE. را باز گرداند. به طور شبيه ارزش می تواند دستی ساخته شوند با استفاده از تابعهای Transact-SQL مانند LEFT که يک تعدادی از کاراکترهای مشخص شده از چپ يک رشته را باز می گرداند، ما تمام جزئيات توابع را در درس 24 مرور خواهيم کرد.
    مشخص کردن يک شرط WHERE با استفاده از قاب Grid
    1- پنجره شماره 2 را از منوی Window برای بازگشت به پنجره Query Designer که ما زودتر در اين درس استفاده کرده ايم انتخاب می کنيم.
    2- قاب SQL را پنهان کرده و قاب Grid را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer نشان می دهيم.
    3- ''=''Eucalyptus را در سل ملاک سطر OilName از قاب Grid وارد می کنيم.

    4- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم، Query Designer فقط يک سطر تنها را نشان می دهد.


    مشخص کردن يک شرط WHERE با استفاده از قاب SQL
    1- قاب Grid را پنهان ساخته و قاب SQL را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer کليک می کنيم.

    2- شرط WHERE را با WHERE (LEFT(Oil Name,1)=''R'') تغيير می دهيم.

    3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نامهای Oil را که با ''R'' شروع می گردد را نشان می دهد.


    استفاده کردن از اپراتورهای ويژه
    علاوه بر فرمت استاندارد برای يک شرط WHERE از ، SQL Server همچنين سه عملگر را پشتيبانی می کند: LIKE که اجازه می دهد به شما به فراهم ساختن مقدار نامشخص با استفاده از وايلد کارتهای نشان داده شده در جدول 2-13 و BETWEEN که اجازه می دهد به شما مشخص کردن يک محدوده از ارزشها و IN که اجازه می دهد به شما برای مشخص کردن يک مجموعه از مقادير.
    مثال معنی Wildcard
    LIKE 'a' که ارتباط می دهد at'''' و ''as'' هر تک کاراکتر -اما نه ''and''%'t'%ILKE که ارتباط می دهد ''at'' و bat'''' و ''Together'' اما نه ''Lucky'' هر رشته از صفر يا چندين کاراکتر %LIKE '[a-c]at' که ارتباط می دهدCat'''' و ''bat'' اما نه ''fat'' هر کاراکتر ويژه در داخل يک محدوده يا مجموعه []LIKE '[a-b]at' که ارتباط می دهدBat'''' اما نه ''Cat''LIKE '[^c]at' که ارتباط می دهد ''Bat'' و ''fat'' اما نه ''Cat'' هر کاراکتر ويژه که در داخل يک محدوده يا مجموعه نمی باشد [^]

    مشخص کردن يک شرط WHERE با استفاده از LIKE
    1- شرط WHERE را در قاب SQL برای WHERE تغيير می دهيم. )% (Oil Name LIKE 'Rose'

    2- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer همه سطرهايی که با Rose شروع می گردد را نشان می دهد.


    مشخص کردن يک شرط WHERE با استفاده از BETWEEN
    1- شرط WHERE را در قاب SQL باWHERE(LEFT(Oil Name,1)BETWEEN A AND 'C') تغيير می دهيم.

    2- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer همه سطرها که با A و B يا C شروع می گردد را نشان می دهد.

    راهنمايی: Transact-SQL همچنين عملگرها Not BETWEEN را پشتيبانی می کند که دقيقاً از همان طريق کار می کند. به استثنای اينکه آن شامل يک محدوده ای از مقادير می باشد. برای مثال Left (Oil Name , 1) Not BETWEEN 'C' And 'E' همه سطرها باز خواهد گرداند به جز آنهايی که Oil Name با C و D يا E شروع می کند.

    مشخص کردن يک شرط WHERE با استفاده از IN
    1- شرط WHERE را در قاب SQL با WHERE (LEFT (OilName , 1) IN('G','M','V')) تغيير می دهيم.

    2- دکمه Run را در نوار ابزار Query Designer برای اجرا Query کليک می کنيم. Query Designer ، 8 سطر را نشان می دهد.


    ترکيب کردن ملاک انتخابی
    علاوه بر مشخص کردن يک شرط WHERE با استفاده از عبارت Format شما می توانيد همچنين عبارات را با استفاده از عملگر منطقی OR يا AND ترکيب کنيد. يک شرط WHERE از فرمت FormatOR سطرهايی که به ملاک مربوط می گردند خواهد بازگرداند، نظر به اينکه يک شرط WHERE از And Format سطرهايی که به هر دو ملاکها مربوط می گردند را باز خواهد گرداند.

    مشخص کردن ملاک پيچيده با استفاده از OR
    1- شرط WHERE رادرقاب SQL به WHERE (OilName='Rosemary' OR OilName='Sagy) تغيير می دهيم.

    2- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer دو سطر را نشان می دهد.

    مشخص کردن ملاک پيچيده با استفاده از AND
    1- شرط WHERE را در قاب SQL به ) %(Oil Name LIKE 'Rose' WHERE تغيير می دهيم.

    2- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer ، 4 سطر را نشان می دهد.

    3- شرط WHERE را در قاب SQL به And (OilID<40) ) %(OilName LIKE Rose WHERE تغيير می دهيم.

    4- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer سطر Roso Otto را شامل می گردد.

    بازيابی سطرها
    بيشتر برنامه های پايگاه داده از يک برنامه ريزی محيطی از قبيل مايکروسافت Access يا مايکروسافت Visual Basic برای فراهم آوردن رابط کاربر استفاده خواهند کرد. اگر چه Manager Enterprise يک ابزار ساده به نام Query Designer فراهم می آورد که به شما به آسانی اجازه می دهد داده ها را در يک يا چندين جدول در پايگاه داده Aromatherapy استفاده می کنيد.

    استفاده کردن از Query Designer
    حتی با وجود اينکه داده در يک پايگاه داده SQL Server ذخيره شده به سختی در حالت Raw استفاده شده بدون اينکه ذخيره شود يا فيلتر شود در چندين طريق، بعضی مواقع آن به توانا بودن برای کنترل سريع محتويات يک جدول مفيد واقع می شود. Query Designer مديريت Enterprise آن را برای ديدن و ويرايش سطرها آسان ساخته و حتی سطرهای جديد ديگر اضافه می کند.

    ديدن سطرها در يک جدول
    ساده ترين راه برای ديدن سطرها در يک جدول بازکردن Query Designer از طريق منوی Context جدول می باشد.

    ديدن همه سطرها در يک جدول
    1- در Manager Enterprise ، پوشه Tables را از پايگاه داده Aromatherapy راهبری می کنيم. SQL Server يک سيستمی از جداول در قاب Details را نشان می دهد.

    2- جدول Plant Parts را کليک راست کرده روی زير منوی Open Table رفته و همه سطرهای برگردانده شده را انتخاب می کنيم. SQL Server ، Query Designer را با همه سطرهای نشان داده شده در جدول باز می کند.


    محدود کردن تعدادی از سطرهای نشان داده شده
    1- Query Designer را اگر هنوز از تمرين قبل بازمانده است می بنديم.
    2- جدول Odors را در قاب Details کليک راست کرده روی Open Table Submenu رفته و Return Top را انتخاب می کنيم. SQL Server يک کادر محاوره ای را نشان می دهد که از شما درخواست می کند که تعدادی از سطرها را که مشخص کرده ايد بياوريد.

    3- 5 را به عنوان تعداد ماکزيمم برای آوردن سطر تايپ می کنيم.

    4- OK را کليک کرده Query Designer را باز می کنيم. 5 سطر اول را در جدول نشان می دهد.

    5- پنجره Query Designer را می بنديم.
    به هنگام سازی سطرها در يک جدول
    Query Designer همچنين می تواند برای تغيير مقادير از سطرهای موجود در يک جدول يا اضافه کردن سطرها استفاده گردد.

    ويرايش يک سطر در Query Designer
    1- جدول Plantparts را در قاب Details کليک راست کرده روی Open Table Submenu رفته و سپس همه سطرهای بازگشتی را برای بازکردن Query Designer برای جدول Plantparts انتخاب می کنيم.
    2- ستون Plantparts از سطر را با يک Plantparts ID 12 از برای خواندن Fruit Kernel به جای Fruit Kernal تغيير می دهيم. Query Designer يک آيکون Edit برای انتخابگر سطر اضافه می کند. برای نشان دادن اينکه رکورد ويرايش شده است اما تغييرات هنوز ذخيره نشده است.

    3- سطر ديگر را کليک می کنيم. Query Designer آيکون Edit را ذخيره، تغيير و برمی دارد.

    راهنمايی: قبل از اينکه شما به ديگر سطر حرکت کنيد، شما می توانيد کليد Esc را برای اعمال نکردن تغييراتتان فشار دهيد.

    اضافه کردن يک سطر جديد در Query Designer
    1- در Query Designer در ستون Plantparts از آخرين سطر (که با آيکون جديد در انتخابگر سطر علامتگذاری شده) کليک می کنيم.
    2- Fruit را تايپ می کنيم. Query Designer سطر را با آيکون Edit علامتگذاری کرده و يک سطر جديد در پايين جدول اضافه می کند.

    3- در هر سطر ديگر در جدول کليک می کنيم. Query Designer يک PlantpartsID را برای سطر جديد تخصيص داده و آن را برای جدول ذخيره می سازد.

    راهنمايی: شما نمی توانيد يک PlantpartsID را به سطر جديد اضافه کنيد زيرا آن به صورت يک ستون موجوديت تغيير داده است. اگر شما آن را انجام دهيد Query Designer يک متن Error نشان خواهد داد.

    شناخت Query Designer
    زمانی که شما Query Designer را با استفاده از دستور Open Table باز می کنيد. سطرها در جدول در يک شبکه شبيه به Data Sheet View يک جدول در Access نشان داده می شود که قاب Query Designers Results می باشد. Query Designer سه قاب کلی دارد. قاب Diagram قاب Grid و قاب SQL .
    شما صفحه نمايشگر قابهای گوناگون را در Query Designer با استفاده از دکمه های Toolbar کنترل می کنيد. شما می توانيد قابها را در هر ترکيب نشان دهيد. Query Designer از به هنگام سازی هر صفحه نمايش قاب مواظبت خواهد کرد زمانی که شما تغييراتی را برای Query می سازيد.


    قاب Diagram
    دکمه قاب Diagram را در نوار ابزار Query Designer که قاب Diagram را نشان می دهد کليک می کنيم. قاب Diagram يک نمايشی از Query برای يک نمودار پايگاه داده نشان می دهد. به طور کلی برای همه مزيتها از يک نمايش گرافيکی، قاب Diagram مفيد می باشد. برای مشخص کردن جداول و نماهايی که روی هر کدام از Query هايتان پايه ريزی خواهد شد و ارتباطی بين آنها به خوبی ستونهايی که نشان داده شده است.


    قاب Grid
    دکمه قاب Grid را در نوار ابزار Query Designer که قاب Grid را نشان می دهد کليک می کنيم. قاب Grid شبيه به Query Designer Grid در Access می باشد. آن يک راه سريع برای تغيير سر ستون از يک ستون Query را فراهم می آورد و دستوراتی را که در هر کدام از سطرها نشان داده خواهد شد را مشخص می کند. انتخاب ملاک مانند را Surname = Jones قرار می دهد.


    قاب SQL
    دکمه قاب SQL را روی نوار ابزار Query Designer که قاب SQL را نشان می دهد کليک می کنيم. قاب SQL عبارت Transact-SQL واقعی را که Query را توليد خواهد کرد نشان می دهد. شما می توانيد مستقيماً عبارت Transact-SQL را با استفاده از قاب SQL وارد و ويرايش کنيد.
    راهنمايی: زمانی که شما اولين Transact-SQL را می آموزيد، قاب SQL يک ابزار بزرگ آموزش می باشد. Query را با استفاده از قاب Diagram و Grid راه اندازی کرده و Query Designer عبارت Transact-SQL را برای شما خواهد ساخت.

  2. 3 کاربر از پست مفید MoniSoft سپاس کرده اند .


  3. #2
    همکار بخش گرافیک و مالتی مدیا
    رشته تحصیلی
    Experimental Sciences
    نوشته ها
    736
    ارسال تشکر
    542
    دریافت تشکر: 1,341
    قدرت امتیاز دهی
    39
    Array

    Cool آموزش SQLserver

    شناختن عبارت 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 نشان می دهد.

    داده ها
    هنگامی که دو جدول در يک پيوند يک به چند سهيم هستند. وسيله محرک Query مقاديری از سطر را از يک طرف برای ارتباط دادن سطرها در طرفهای ديگری تکرار می کند. بعضی مواقع آن دقيقاً چيزی است که شما می خواهيد، اما اغلب شما می خواهيد تکرار کردن سطرها را از چندين طريق دسته بندی يا خلاصه سازيد. در اين درس، ما به دو روش برای انجام آن که عبارتند از کليد واژه DISTINCT و شرط GROUP BY نگاه خواهيم کرد.

    شناختن SELECT DISTINCT
    يکی از اهداف طرح پايگاه داده ارتباطی برداشتن وابستگی داده ها می باشد. اما بيشتر پايگاه داده به طور ضروری مقادير واقعی در چندين سطر را شامل خواهد شد. يک جدولی که شامل اطلاعات آدرس مشتری می باشد برای مثال احتمالاً کد ايالتی و کشوری برای چندين سطر خواهد داشت که نه اشتباه و نه تکراری می باشد. نظر به اينکه هر کد ايالتی نسبتی از يک مشتری می باشد. به همين نحو يک جدول از چندين جهت از يک ارتباط يک به چند ممکن است هر مقدار کليد خارجی معلوم که چندين بار تکرار شده را داشته باشد. آن برای يک ارتباط يکپارچه از پايگاه داده لازم می باشد. اگر چه اين تکرار می تواند بعضی مواقع نتايج Query را نامطلوب سازد. يک جدول مشتری با 1000 سطر با 90 درصد مشتری از کاليفرنيا، Query زير کد CA را 9000 بار خواهد باز گرداند که اصلاً يک نتيجه مفيدی نمی باشد.
    SELECT State From Customer
    کليد واژه Distinct در اين موقعيت شما را کمک می کند. Distinct که درست بعد از SELECT قرار می گيرد به SQL Server دستور داده که سطرهايی چندگانه در قرارگيری نتايج را حذف نمايد. بنابراين Query زير هر کد ايالتی را فقط يک بار باز می گرداند به طور وضوح ليستی که شما جستجو می کنيد.
    SELECT DISTINCT State From Customer
    راهنمايی: همتای کليد واژه Distinct ، All می باشد که SQL Server را برای بازگرداندن همه سطرها آگاه می سازد خواه آن واحد باشد يا خير. از موقعی که اين يک عملکرد پيش فرض از يک عبارت SELECT می باشد All به طور معمول استفاده نمی گردد. اما شما ممکن تصميم بگيريد به در برداشتن آن اگر ساختار دستور Query را بيشتر قابل فهم سازيد.

    استفاده کردن از SELECT DISTINCT
    کليد واژه Distinct می تواند در عبارت SQL از Query Distinct يا به وسيله تنظيمات Properties از Query مشخص گردد.

    ايجاد کردن Distinct Query با استفاده از قاب دياگرام
    1- Query Designer را برای جدول Oils به وسيله کليک راست کردن نام جدول در قاب Details باز کرده روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم.
    2- قاب دياگرام را به وسيله کليک کردن روی دکمه قاب دياگرام در نوار ابزار Query Designer نشان می دهيم.
    3- دکمه Add Table را کليک می کنيم. Query Designer کادر محاوره ای Add Table را نشان می دهد.
    4- Plantparts را در ليست جدول انتخاب می کنيم و سپس Add را کليک می کنيم. Query Designer جدول را به Query اضافه می کند.
    5- Close را برای بستن کادر محاوره ای کليک می کنيم.
    6- دکمه قاب SQL را در نوار ابزار Query Designer کليک می کنيم. قاب SQL ، Query Designer را نشان می دهد.
    7- علامت * بعد از کليد واژه SELECT را حذف می کنيم.

    8- دکمه قاب SQL را در نوار ابزار Query Designer کليک می کنيم (OK را اگر Query Designer يک متن خطا درباره ساختار دستور عبارت SELECT نشان می دهد کليک می کنيم). Query Designer قاب SQL را پنهان می سازد.
    مهم: زمانی که شما Query Designer را باز می کنيد حالت SQL پيش فرض معمولاً SELECT* می باشد. ستون ويژه در قاب دياگرام به سبب اينکه آنها به ليست ستون اضافه می شوند انتخاب می گردند. مايکروسافت اين را يک ويژگی در نظر می گيرد.
    9- در قاب دياگرام فقط ستون Plantpart را از جدول Plantparts برای نشان دادن انتخاب می کنيم.

    10- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer هر مقدار Plantpart را چندين بار ليست می کند.

    11- در يک ناحيه خالی از قاب دياگرام کليک راست کرده و Properties را انتخاب می کنيم. Query Designer کادر محاوره ای Properties را نشان می دهد.

    12- گزينه مقادير Distinct را انتخاب می کنيم.

    13- Close را برای بستن کادر محاوره ای کليک می کنيم.
    14- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer هر مقدار را فقط يک بار نشان می دهد.

    ايجاد کردن يک SELECT DISTINCT با استفاده از قاب SQL
    1- قاب دياگرام را پنهان ساخته و قاب SQL را نشان می دهيم.
    2- عبارت SELECT موجود را با متن زير جايگزين می کنيم.
    SELECT DISTINCT Plant Types Plant Type
    FROM Oils INNER Join
    Plant Types ON Oils Plant Type ID=Plant Types Plant Type ID

    3- دکمه Run را برای اجرا مجدد Query کليک می کنيم. Query Designer مقدار PlantType متمايز که به وسيله جدول Oils بازگشت شده را نشان می دهد.


    شناختن GROUP BY
    کليد واژه Distinct امر می کند. SQL Server را به بازگرداندن سطرهای واحد نظر به اينکه شرط GROUP BY ، SQL Server را به ترکيب سطرها با مقادير يکسان در ستون يا ستونهای مشخص شده در شرط در داخل سطر تکی امر می کند.
    مهم: هر ستونی که در شرط GROUP BY شامل می باشد بايد در خروجی Query شامل گردد.
    شرط GROUP BY اغلب با يک aggregate Function استفاده می گردد. يک aggregate Function محاسبات در مجموعه از مقادير را به انجام می رساند و يک نتيجه تک مقداری را باز می گرداند. رايج ترين گزينه های به هم پيوسته استفاده شده در پرس و جوهایGROUP BY ، MIN می باشد که کوچکترين مقادير را در مجموعه باز می گرداند. MAX که بزرگترين مقادير در مجموعه را باز می گرداند و COUNT که تعدادی از مقادير را در يک مجموعه باز می گرداند.

    استفاده کردن از GROUP BY
    شرط GROUP BY می تواند مشخص شود با استفاده کردن از هر يک از قابها در Query Designer ، اما قابهای SQL و Grid بيشترين کنترل را فراهم می سازد.

    ايجاد کردن يک GROUP BY Query با استفاده از قاب Grid
    1- قاب SQL را پنهان ساخته و قاب Grid را نشان می دهيم.

    2- ستون OilName را برای Query اضافه می کنيم.

    3- دکمه Group By را در نوار ابزار Query Designer کليک می کنيم. Query Designer يک ستون Group By برای شبکه اضافه می کند و هر دوی مقادير را برای Group By قرار می دهد.

    4- سل Group By را برای تغيير دادن سطر OilName به Count تغيير می دهيم.

    5- دکمه Run را برای اجرا مجدد Query کليک می کنيم. Query Designer تعدادی از Oils را برای هر PlantType نشان می دهد.


    ايجاد کردن يک Group By Query با استفاده از قاب SQL
    1- قاب شبکه را پنهان ساخته و قاب SQL را نشان می دهيم.

    2- عبارت SELECT موجود را با متن زير جايگزين می کنيم.
    SELECT Plant parts Plant part Count (Oils Oil Name) As Number Of Oils
    FROM Oils INNER Join
    Plant parts ON Oils Plant part ID=Plant parts Plant part ID
    GROUP BY Plant parts Plant part

    3- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer مقدار oils برای هر Plantpart نشان می دهد.

    استفاده کردن از شرط HAVING
    شرط Having سطرهای بازگردانده شده به وسيله شرط GROUP BY را از همان راهی که يک شرط Where سطرهای بازگردانده شده را به وسيله شرط SELECT محدود می سازد. هر دو شرط Where و Having می تواند در يک عبارت SELECT شامل شود که شرط Where قبل از گروه بندی علميات و شرط Having بعد از آن به کار برده می شود. ساختار دستور شرط Having همانند شرط Where می باشد به استثنای اينکه شرط Having می تواند شامل يکی از توابعهای به هم پيوسته باشد که در ليست ستونها از شرط SELECT قرار می گيرد. اگر چه شما بايد توابع به هم پيوسته را تکرار کنيد. برای مثال شرط Having که در حالت زير استفاده شده صحيح می باشد.
    SELECT Plant parts Plant part Count (Oils Oil Name) As Number Of Oils
    FROM Oils INNER Join
    Plant parts ON Oils Plant part ID=Plant Parts Plant part ID
    GROUP BY Plant parts Plant part
    HAVING Count (Oils Oil Name)>3
    اگر چه شما نمی توانيد از اسم مستعار برای تابع Count در شرط Having استفاده کنيد. بنابراين شرط Having زير درست نخواهد بود.
    HAVING Number Of Oils>3

    ايجاد کردن يک Query با استفاده از HAVING در قاب Grid
    1- قاب SQL را پنهان ساخته و قاب Grid را نمايش می دهيم.

    2- 5Add> را برای سل مورد نظر از ستون oil Name قرار می دهيم.

    3- دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کليک می کنيم.


    ايجاد کردن يک Query با استفاده از HAVING در قاب SQL
    1- قاب Grid را پنهان ساخته و قاب SQL را نشان می دهيم.

    2- شرط Having را برای HAVING (Count (Oils Oil Name)<5) تغيير می دهيم.

    3- دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کليک می کنيم. Query Designer فقط آن Plantparts که Oils اشتراکی کمتر از 5 دارد را نشان می دهد.

  4. 3 کاربر از پست مفید MoniSoft سپاس کرده اند .


  5. #3
    همکار بخش گرافیک و مالتی مدیا
    رشته تحصیلی
    Experimental Sciences
    نوشته ها
    736
    ارسال تشکر
    542
    دریافت تشکر: 1,341
    قدرت امتیاز دهی
    39
    Array

    Cool آموزش SQLserver

    مرتب سازی و انتخاب کردن سطرها
    در فصل گذشته ما بيشترين فرمهای مقدماتی از حالت SELECT را مرور کرده و آنها را برای انتخاب ستونهای يک جدول استفاده کرديم. اما بيشتر مواقع شما بازگشت به سطرها در جدول پس زمينه يا نمايش در يک قاعده خاص و فقط بازگشت به يک زير مجموعه از آنها را خواهيد خواست. شرطهای ORDER BY و WHERE در اين درس بررسی شده و اجرای آن برای شما فراهم شود.

    شرط ORDER BY
    شرط The ORDER BY يک ترکيب گزينه ای از يک حالت SELECT می باشد. آن به شما برای مشخص کردن ترتيب در آن سطرهايی که بازگشت خواهند کرد اجازه می دهد. ستونهای چندگانه می توانند مشخص شوند و سطرها می توانند به صورت ترتيب افزايشی يا کاهشی باز گردانده شوند.

    مرتب سازی سطرها
    ساده ترين فرم در شرط ORDER BY فراهم می سازد يک نام ستون تکی که برای مرتب کردن سطرها که به وسيله Query باز گردانده می شود استفاده خواهد شد.

    مرتب کردن سطرها با استفاده از قاب Grid
    1- Query Designer را برای جدول Oils به وسيله کليک راست کردن نام آن در قاب Details باز می کنيم. به زير منوی جدول Open رفته و همه ستونهای بازگشتی را انتخاب می کنيم. SQL Server ، Query Designer را برای جدول باز می کند.
    2- قاب Grid را به وسيله کليک راست کردن دکمه قاب Grid در نوار ابزار Query Designer نشان می دهيم.

    3- فقط ستونهای OilID ، Oil Name ، LatinName را برای نمايش انتخاب می کنيم. Query Designer محتويات قاب Results را که کمرنگ شده برای نشان دادن اينکه با مشخصات Query زياد مربوط نمی باشد نشان می دهد.

    4- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer فقط ستونهای مشخص شده را نشان می دهد.

    5- نوع Sort فيلد Oil Name را صعودی قرار می دهيم.

    6- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer سطرهای مرتب شده با Oil Name را نشان می دهد.

    مرتب سازی سطرها با استفاده از قاب SQL
    1- قاب Grid را پنهان ساخته و قاب SQL را به وسيله کليک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهيم.

    2- DESC را بعد از شرط ORDER BY OilName اضافه می کنيم.

    راهنمايی: کليد واژه DESCبه SQL Server برگرداندن سطرها به ترتيب نزولی را ابراز می کند. کليد واژه ASC که گزينه ای می باشد سطرها را به ترتيب صعودی برمی گرداند.
    3- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نتايح را که با OilName ذخيره شده به صورت نزولی نشان می دهد.

    مرتب سازی ستونهای چندگانه
    شما می توانيد ستونهای چندگانه را در شرط ORDER BY مشخص کنيد. زمانی که ستونهای چندگانه مشخص می گردند ترتيب ستونها نتايج SQL Server را که به وسيله اولين ستون و سپس به وسيله دومين ستون و بنابراين چهارمين ستون مرتب خواهد شد مشخص می کند.
    راهنمايی: تمرينها در اين بخش از جدول OilOdors استفاده می کند که به صورت جدول الحاقی انجام وظيفه می کند که ارتباط چندبه چند بين جدول Oils و Odors را تجزيه و تحليل می کند. معمولاً شما کليدهای خارجی ترکيب شده در اين جدول را با استفاده از يک ارتباط تجزيه می کرديد.

    مرتب سازی سطرها با استفاده از قاب Grid
    1- پنجره شماره 1 را از منوی Window برای برگشت به درخت Console انتخاب می کنيم.
    2- Query Designer را برای جدول Oil Orders به وسيله کليک راست کردن نام آن در قاب Details باز کرده روی زير منوی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم. SQL Server ، Query Designer را برای جدول باز می کند.
    3- قاب Grid را به وسيله کليک کردن دکمه قاب Grid روی نوار ابزار Query Designer نشان می دهيم.

    4- * را در قاب Grid با نامهای دو فيلد جايگزين می کنيم. SQL Server محتويات از قاب Results را برای نشان دادن اينکه آن با مشخصات Query زياد در ارتباط نيست کم رنگ می کند.

    5- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer فقط ستونهای مشخص شده شما را نشان می دهد.

    6- نوع Sort هر دوی ستونها را صعودی قرار می دهيم.

    7- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer سطرهای مرتب شده را با اولين OilID و سپس با OdorID در داخل OilID نشان می دهد.


    مرتب کردن سطرها با استفاده از قاب SQL
    1- قاب Grid را پنهان کرده و قاب SQL را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer نشان می دهيم.

    2- ستونها را در شرط ORDER BY معکوس می کنيم.

    3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نتايج مرتب شده را با اولين OdorID و سپس با OilID نشان می دهد.

    4- پنجره Query Designer را می بنديم.

    شرط WHERE
    با استفاده از شرط اختياری WHERE از حالت SELECT شما می توانيد يک زير مجموعه از سطرها که باز گردانده می شوند را مشخص کنيد. برای مثال شما ممکن است بخواهيد فقط مشتريهايی که بيش از $1000 در 12 ماه قبل خرج کرده اند را ببينيد يا اينکه فقط نامهای Oil که با حرف R شروع می شوند را ببينيد. شما اين ملاکها را با استفاده از شرط WHERE مشخص خواهيد کرد.

    شرط WHERE BASIC
    Operator Meaning
    مساويست با = بزرگتر از < کوچکتر از >بزرگتر يا مساويست با =<کوچکتر يا مساويست با => مساوی نيست با <>
    کليد برای شرط WHERE يک ملاک انتخابی می باشد که مشخص می کند که کدام سطرها باز خواهند گشت. ساختار پايه ای از يک شرط WHERE ، WHERE می باشد. SQL Server يک حدود کاملی از اپراتورهای مقايسه ای را به طوری که در جدول B-1 نشان داده شده فراهم می سازد.


    مشخص شده در شرايط WHERE می تواند يک ارزش دائمی باشد مانند Red'''' يا 10000 يا می تواند باشد يک عبارتی که يک ارزش مانند GETDATE. را باز گرداند. به طور شبيه ارزش می تواند دستی ساخته شوند با استفاده از تابعهای Transact-SQL مانند LEFT که يک تعدادی از کاراکترهای مشخص شده از چپ يک رشته را باز می گرداند، ما تمام جزئيات توابع را در درس 24 مرور خواهيم کرد.
    مشخص کردن يک شرط WHERE با استفاده از قاب Grid
    1- پنجره شماره 2 را از منوی Window برای بازگشت به پنجره Query Designer که ما زودتر در اين درس استفاده کرده ايم انتخاب می کنيم.
    2- قاب SQL را پنهان کرده و قاب Grid را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer نشان می دهيم.
    3- ''=''Eucalyptus را در سل ملاک سطر OilName از قاب Grid وارد می کنيم.

    4- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم، Query Designer فقط يک سطر تنها را نشان می دهد.


    مشخص کردن يک شرط WHERE با استفاده از قاب SQL
    1- قاب Grid را پنهان ساخته و قاب SQL را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer کليک می کنيم.

    2- شرط WHERE را با WHERE (LEFT(Oil Name,1)=''R'') تغيير می دهيم.

    3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نامهای Oil را که با ''R'' شروع می گردد را نشان می دهد.


    استفاده کردن از اپراتورهای ويژه
    علاوه بر فرمت استاندارد برای يک شرط WHERE از ، SQL Server همچنين سه عملگر را پشتيبانی می کند: LIKE که اجازه می دهد به شما به فراهم ساختن مقدار نامشخص با استفاده از وايلد کارتهای نشان داده شده در جدول 2-13 و BETWEEN که اجازه می دهد به شما مشخص کردن يک محدوده از ارزشها و IN که اجازه می دهد به شما برای مشخص کردن يک مجموعه از مقادير.
    مثال معنی Wildcard
    LIKE 'a' که ارتباط می دهد at'''' و ''as'' هر تک کاراکتر -اما نه ''and''%'t'%ILKE که ارتباط می دهد ''at'' و bat'''' و ''Together'' اما نه ''Lucky'' هر رشته از صفر يا چندين کاراکتر %LIKE '[a-c]at' که ارتباط می دهدCat'''' و ''bat'' اما نه ''fat'' هر کاراکتر ويژه در داخل يک محدوده يا مجموعه []LIKE '[a-b]at' که ارتباط می دهدBat'''' اما نه ''Cat''LIKE '[^c]at' که ارتباط می دهد ''Bat'' و ''fat'' اما نه ''Cat'' هر کاراکتر ويژه که در داخل يک محدوده يا مجموعه نمی باشد [^]

    مشخص کردن يک شرط WHERE با استفاده از LIKE
    1- شرط WHERE را در قاب SQL برای WHERE تغيير می دهيم. )% (Oil Name LIKE 'Rose'

    2- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer همه سطرهايی که با Rose شروع می گردد را نشان می دهد.


    مشخص کردن يک شرط WHERE با استفاده از BETWEEN
    1- شرط WHERE را در قاب SQL باWHERE(LEFT(Oil Name,1)BETWEEN A AND 'C') تغيير می دهيم.

    2- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer همه سطرها که با A و B يا C شروع می گردد را نشان می دهد.

    راهنمايی: Transact-SQL همچنين عملگرها Not BETWEEN را پشتيبانی می کند که دقيقاً از همان طريق کار می کند. به استثنای اينکه آن شامل يک محدوده ای از مقادير می باشد. برای مثال Left (Oil Name , 1) Not BETWEEN 'C' And 'E' همه سطرها باز خواهد گرداند به جز آنهايی که Oil Name با C و D يا E شروع می کند.

    مشخص کردن يک شرط WHERE با استفاده از IN
    1- شرط WHERE را در قاب SQL با WHERE (LEFT (OilName , 1) IN('G','M','V')) تغيير می دهيم.

    2- دکمه Run را در نوار ابزار Query Designer برای اجرا Query کليک می کنيم. Query Designer ، 8 سطر را نشان می دهد.


    ترکيب کردن ملاک انتخابی
    علاوه بر مشخص کردن يک شرط WHERE با استفاده از عبارت Format شما می توانيد همچنين عبارات را با استفاده از عملگر منطقی OR يا AND ترکيب کنيد. يک شرط WHERE از فرمت FormatOR سطرهايی که به ملاک مربوط می گردند خواهد بازگرداند، نظر به اينکه يک شرط WHERE از And Format سطرهايی که به هر دو ملاکها مربوط می گردند را باز خواهد گرداند.

    مشخص کردن ملاک پيچيده با استفاده از OR
    1- شرط WHERE رادرقاب SQL به WHERE (OilName='Rosemary' OR OilName='Sagy) تغيير می دهيم.

    2- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer دو سطر را نشان می دهد.

    مشخص کردن ملاک پيچيده با استفاده از AND
    1- شرط WHERE را در قاب SQL به ) %(Oil Name LIKE 'Rose' WHERE تغيير می دهيم.

    2- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer ، 4 سطر را نشان می دهد.

    3- شرط WHERE را در قاب SQL به And (OilID<40) ) %(OilName LIKE Rose WHERE تغيير می دهيم.

    4- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer سطر Roso Otto را شامل می گردد

  6. 3 کاربر از پست مفید MoniSoft سپاس کرده اند .


  7. #4
    همکار بخش گرافیک و مالتی مدیا
    رشته تحصیلی
    Experimental Sciences
    نوشته ها
    736
    ارسال تشکر
    542
    دریافت تشکر: 1,341
    قدرت امتیاز دهی
    39
    Array

    Cool آموزش SQLserver

    بازيابی سطرها
    بيشتر برنامه های پايگاه داده از يک برنامه ريزی محيطی از قبيل مايکروسافت Access يا مايکروسافت Visual Basic برای فراهم آوردن رابط کاربر استفاده خواهند کرد. اگر چه Manager Enterprise يک ابزار ساده به نام Query Designer فراهم می آورد که به شما به آسانی اجازه می دهد داده ها را در يک يا چندين جدول در پايگاه داده Aromatherapy استفاده می کنيد.

    استفاده کردن از Query Designer
    حتی با وجود اينکه داده در يک پايگاه داده SQL Server ذخيره شده به سختی در حالت Raw استفاده شده بدون اينکه ذخيره شود يا فيلتر شود در چندين طريق، بعضی مواقع آن به توانا بودن برای کنترل سريع محتويات يک جدول مفيد واقع می شود. Query Designer مديريت Enterprise آن را برای ديدن و ويرايش سطرها آسان ساخته و حتی سطرهای جديد ديگر اضافه می کند.

    ديدن سطرها در يک جدول
    ساده ترين راه برای ديدن سطرها در يک جدول بازکردن Query Designer از طريق منوی Context جدول می باشد.

    ديدن همه سطرها در يک جدول
    1- در Manager Enterprise ، پوشه Tables را از پايگاه داده Aromatherapy راهبری می کنيم. SQL Server يک سيستمی از جداول در قاب Details را نشان می دهد.

    2- جدول Plant Parts را کليک راست کرده روی زير منوی Open Table رفته و همه سطرهای برگردانده شده را انتخاب می کنيم. SQL Server ، Query Designer را با همه سطرهای نشان داده شده در جدول باز می کند.


    محدود کردن تعدادی از سطرهای نشان داده شده
    1- Query Designer را اگر هنوز از تمرين قبل بازمانده است می بنديم.
    2- جدول Odors را در قاب Details کليک راست کرده روی Open Table Submenu رفته و Return Top را انتخاب می کنيم. SQL Server يک کادر محاوره ای را نشان می دهد که از شما درخواست می کند که تعدادی از سطرها را که مشخص کرده ايد بياوريد.

    3- 5 را به عنوان تعداد ماکزيمم برای آوردن سطر تايپ می کنيم.

    4- OK را کليک کرده Query Designer را باز می کنيم. 5 سطر اول را در جدول نشان می دهد.

    5- پنجره Query Designer را می بنديم.
    به هنگام سازی سطرها در يک جدول
    Query Designer همچنين می تواند برای تغيير مقادير از سطرهای موجود در يک جدول يا اضافه کردن سطرها استفاده گردد.

    ويرايش يک سطر در Query Designer
    1- جدول Plantparts را در قاب Details کليک راست کرده روی Open Table Submenu رفته و سپس همه سطرهای بازگشتی را برای بازکردن Query Designer برای جدول Plantparts انتخاب می کنيم.
    2- ستون Plantparts از سطر را با يک Plantparts ID 12 از برای خواندن Fruit Kernel به جای Fruit Kernal تغيير می دهيم. Query Designer يک آيکون Edit برای انتخابگر سطر اضافه می کند. برای نشان دادن اينکه رکورد ويرايش شده است اما تغييرات هنوز ذخيره نشده است.

    3- سطر ديگر را کليک می کنيم. Query Designer آيکون Edit را ذخيره، تغيير و برمی دارد.

    راهنمايی: قبل از اينکه شما به ديگر سطر حرکت کنيد، شما می توانيد کليد Esc را برای اعمال نکردن تغييراتتان فشار دهيد.

    اضافه کردن يک سطر جديد در Query Designer
    1- در Query Designer در ستون Plantparts از آخرين سطر (که با آيکون جديد در انتخابگر سطر علامتگذاری شده) کليک می کنيم.
    2- Fruit را تايپ می کنيم. Query Designer سطر را با آيکون Edit علامتگذاری کرده و يک سطر جديد در پايين جدول اضافه می کند.

    3- در هر سطر ديگر در جدول کليک می کنيم. Query Designer يک PlantpartsID را برای سطر جديد تخصيص داده و آن را برای جدول ذخيره می سازد.

    راهنمايی: شما نمی توانيد يک PlantpartsID را به سطر جديد اضافه کنيد زيرا آن به صورت يک ستون موجوديت تغيير داده است. اگر شما آن را انجام دهيد Query Designer يک متن Error نشان خواهد داد.

    شناخت Query Designer
    زمانی که شما Query Designer را با استفاده از دستور Open Table باز می کنيد. سطرها در جدول در يک شبکه شبيه به Data Sheet View يک جدول در Access نشان داده می شود که قاب Query Designers Results می باشد. Query Designer سه قاب کلی دارد. قاب Diagram قاب Grid و قاب SQL .
    شما صفحه نمايشگر قابهای گوناگون را در Query Designer با استفاده از دکمه های Toolbar کنترل می کنيد. شما می توانيد قابها را در هر ترکيب نشان دهيد. Query Designer از به هنگام سازی هر صفحه نمايش قاب مواظبت خواهد کرد زمانی که شما تغييراتی را برای Query می سازيد.


    قاب Diagram
    دکمه قاب Diagram را در نوار ابزار Query Designer که قاب Diagram را نشان می دهد کليک می کنيم. قاب Diagram يک نمايشی از Query برای يک نمودار پايگاه داده نشان می دهد. به طور کلی برای همه مزيتها از يک نمايش گرافيکی، قاب Diagram مفيد می باشد. برای مشخص کردن جداول و نماهايی که روی هر کدام از Query هايتان پايه ريزی خواهد شد و ارتباطی بين آنها به خوبی ستونهايی که نشان داده شده است.


    قاب Grid
    دکمه قاب Grid را در نوار ابزار Query Designer که قاب Grid را نشان می دهد کليک می کنيم. قاب Grid شبيه به Query Designer Grid در Access می باشد. آن يک راه سريع برای تغيير سر ستون از يک ستون Query را فراهم می آورد و دستوراتی را که در هر کدام از سطرها نشان داده خواهد شد را مشخص می کند. انتخاب ملاک مانند را Surname = Jones قرار می دهد.


    قاب SQL
    دکمه قاب SQL را روی نوار ابزار Query Designer که قاب SQL را نشان می دهد کليک می کنيم. قاب SQL عبارت Transact-SQL واقعی را که Query را توليد خواهد کرد نشان می دهد. شما می توانيد مستقيماً عبارت Transact-SQL را با استفاده از قاب SQL وارد و ويرايش کنيد.
    راهنمايی: زمانی که شما اولين Transact-SQL را می آموزيد، قاب SQL يک ابزار بزرگ آموزش می باشد. Query را با استفاده از قاب Diagram و Grid راه اندازی کرده و Query Designer عبارت Transact-SQL را برای شما خواهد ساخت.

  8. 3 کاربر از پست مفید MoniSoft سپاس کرده اند .


  9. #5
    دوست آشنا
    رشته تحصیلی
    کارشناسی کامپیوتر نرم افزار
    نوشته ها
    1,167
    ارسال تشکر
    2,113
    دریافت تشکر: 2,967
    قدرت امتیاز دهی
    44
    Array

    پیش فرض پاسخ : آموزش SQLserver

    آموزش SQL Server (مقدماتی)
    مقدمه :
    كاربرد روز افزون بانك اطلاعاتي SQL مرا بر آن داشت تا مطالبي هر چند كوتاه جهت خوانندگان محترم سايت تهيه نماييم. قبلا از هر چيز لازم به ذكر است كه مطالب ذيل در حد آشنايي بوده و دوستان براي دستيابي به تكنيكهاي بيشتر مي بايست از كتابهاي مرجع و Book online خود SQL Server استفاده نمايند. در مطالب زير كه سلسله وار مباحث SQL Server را مرور خواهيم كرد , سعي شده تا ابتدا مطالب مقدماتي جهت آشنايي آورده شود و سپس اگر عمري باقي بود به مطالب پيشرفته آن بپردازيم. همچنين براي يادآوري خدمت دوستان ابتدا مرور سريعي بر چند دستور SQL كه كاربرد بيشتري دارند خواهيم پرداخت و سپس به SQL Server و مطالب آن خواهيم پرداخت . مطالب زير اكثرا از كتاب Microsoft SQL Server 7.0 Database Implementation Training انتخاب گرديده است . اين كتاب به همراه CD آموزش آن به عنوان يك مرجع براي امتحانات مايكروسافت استفاده مي شود.
    جداول بكار رفته نيز همگي در SQL Server 7.0 در Database Northwind موجود هستند.


    دستور Select



    اين دستور كه دستوري مستقل نيست و حتما بايد با اجزايي بكار رود جهت ساخت پرس و جو بر روي بانك اطلاعاتي بكار مي رود و ركوردهايي كه با شرايط اين دستور همخوان باشد به عنوان نتيجه پرس و جو برمي گرداند . چهار كلمه كليدي وجود دارند كه بخشهاي ارزشمند اين دستور را تشكيل مي دهند :

    1-select
    2-from
    3-where
    4-order by


    شكل كلي دستور :

    Select [*|distinct column1, column2,…]
    From table[,table2,…]
    Where شرط
    Order by نام فيلد يا شماره فيلد


    مثال :

    Select * from customers


    اين دستور تمام ركوردهاي جدول customers را برمي گرداند. كه نتيجه 91 سطر از اطلاعات اين جدول خواهد بود
    حال اگر شرط Country ='uk' اضافه كنيم ، فقط اطلاعات مشتريان انگليس جواب خواهند بود كه به 7 سطر تقليل مي يابد.

    select * from customers
    where Country ='uk'


    حال
    select City,Country from customers
    order by city

    فقط ستونهاي نام شهر (city) و نام كشور (Country) را بر گردانده و بر اساس نام شهر مرتب ميكند. دستور بالا با دستور پايين هردو يك جواب را ميدهند :

    select City,Country from customers
    order by 1


    كه 91 سطر بازگردانده خواهد شد . در نتيجه پرس و جو تعدادي سطر تكراري وجود دارد مانند شهر London كه اگر از كلمه Distinct در Select استفاده كنيم اين سطرهاي تكراري حذف خواهد شد .

    select distinct City,Country from customers
    order by 1


    و جواب 69 سطر خواهد بود.


    استفاده از توابع در Select

    1- Count : تعداد سطرهاي بازگردانده شده توسط select را ميشمارد.
    Select Count from Customers
    where Country ='uk'
    در اصل تعداد مشترياني را ميشمارد كه در كشور انگليس هستند. كه عدد 7 جواب است.

    2- Sum : مجموع يك فيلد عددي را برمي گرداند.

    Select sum(Quantity) from [Order Details]


    مجموع فيلد Quantity را براي فيلدهايي كه شماره محصول آنها ( Productid) برابر 11 است را محاسبه ميكند


    نكته 1 : در دستور select مي توان از اسم مستعار استفاده كرد ، يعني نام جديدي را براي يك ستون در نظر گرفت به عنوان مثال select قبل را به شكل زير بكار برد :

    Select sum(Quantity) as Sum_QTY
    from [Order Details]
    where productid = 11


    كه Sum_QTY يك اسم مستعار براي مجموع است. استفاده از كلمه كليديas اختياري است.
    نكته 2 : در دستور select هرگاه اسم فيلدي اسم خاص باشد و يا فاصله بين اسم باشد مثل Order Details كه فاصله بين اسم جدول است حتماُ از علامت براكت [] ميبايست استفاده كرد.
    نكته 3 : استفاده از group by :
    هنگامي كه از توابع count و Sum به همراه يك فيلد ديگر در دستور select استفاده مي شود از group by استفاده مي كنيم .
    به عنوان مثال دستور زير جمع مقادير فيلد Quantity را براي هر شماره محصول محاسبه ميكند .

    Select productid, sum(Quantity) as sum_qty
    from [Order Details]
    group by productid


    كه نتيجه مانند زير خواهد بود :
    productid sum_qty
    ----------------------
    61 603
    3 328
    32 297
    6 301
    41 981
    64 740
    9 95
    12 344


    در صورتيكه دستور ordr by 1 بعد از group by استفاده كنيم نتيجه بر اساس كد محصول مرتب خواهد شد.
    نكته 4 : دستور where مي تواند خود شامل يك دستور select باشد :
    select * from Products
    where ProductID in
    ( select distinct ProductID from [order details] where Quantity >70)
    order by ProductID


    تنها نكته اي كه مي بايست توجه كرد اين است كه نام فيلدي كه در شرط آورده مي شود حتما در دستور select آورده شود, به عبارت ديگر select درون شرط تنها يك ستون را مي بايست برگرداند .


    تمرين : با فرض اينكه دو جدول Products و order details داراي ستون (فيلد) يكسان ProductID هستند , يك دستور Select بنويسيد كه تمام فيلدهايي از Products را نشان دهد كه فيلد ProductID آن با ProductID جدول order details يكي باشد.؟
    حل :
    Select pr.*
    From Products as pr , [order details] as od
    Where pr. ProductID = od. ProductID


    قابل به ذكر است كه بيش از 90% از كارهايي كه ما برروي جداول انجام مي دهيم با select و تركيبات آن انجام مي شود. لذا بدست آوردن تبحر در نوشتن select ها مي تواند شما را در تهيه برنامه ها ياري كند.

    3-Min,max : بيشترين و كمترين مقدار فيلد را در بانك اطلاعاتي بدست مي دهد.
    Select min (Quantity)
    from [Order Details]


    4-Top n : تعداد n سطر اول بانك اطلاعاتي را برمي گرداند.
    Select top 5 *
    from [Order Details]


    5 سطر اول بانك را برمي گرداند.


    نكته 3 : در حالت بالا اگر مقدار سطر 5 و 6 يكي باشد فقط سطر 5 جواب خواهد بود براي گريز از اين حالت از شكل زير در اين دستور استفاده ميكنيم :
    Select top n with ties *
    From table
    5-Into
    Select * from table1 into table2


    اطلاعات table1 را به table2 كپي ميكند. البته table2 بايد از قبل وجود نداشته باشد.


    اين دستور خود table2 را ميسازد.
    دستور select قويترين و كاربردي ترين دستور در sql است كه خود ماهها نيازمند تمرين و آموزش است . براي اطلاعات بيشتر به books online خود Sql Server مراجع كنيد.

    دستور Delete

    براي حذف اطلاعات از يك بانك اطلاعاتي استفاده ميشود.

    شكل كلي دستور :


    Delete table1
    Where شرط

    مثال :


    فرض كنيد جدول authors موجود باشد و فيلد كليد آن au_id باشد. براي حذف 10 سطر اول اين جدول از دستور زير استفاده مي كنيم :

    DELETE authors
    FROM
    (SELECT TOP 10 * FROM authors) AS t1
    WHERE authors.au_id = t1.au_id

    دستور insert

    براي اضافه كردن اطلاعات به يك جدول از اين دستور استفاده ميشود.

    Insert into table1 (f1,f2,…)
    Values (v1,v2,…)


    كه f1,f2 نام فيلدها و v1,v2 مقادير آنها ميباشد.
    البته ميتوانيد مقادير را نتيجه يك select قرار داد.
    مثال :


    Insert into table1
    Select top 10
    From table2


    مقدار 10 سطر اول را از table2 را در table1 درج ميكند. البته بايد تعداد فيلدها يكي باشد. در غير اينصورت از values استفاده كنيد.
    uody

  10. 2 کاربر از پست مفید uody سپاس کرده اند .


  11. #6
    دوست آشنا
    رشته تحصیلی
    کارشناسی کامپیوتر نرم افزار
    نوشته ها
    1,167
    ارسال تشکر
    2,113
    دریافت تشکر: 2,967
    قدرت امتیاز دهی
    44
    Array

    پیش فرض پاسخ : آموزش SQLserver

    آموزش SQL Server (قسمت اول)
    مفاهيم ابتدائي مقدمه : كاربرد روز افزون بانك اطلاعاتي SQL مرا بر آن داشت تا مطالبي هر چند كوتاه جهت خوانندگان محترم سايت تهيه نماييم. قبلا از هر چيز لازم به ذكر است كه مطالب ذيل در حد آشنايي بوده و دوستا براي دستيابي به تكنيكهاي بيشتر مي بايست از كتابهاي مرجع و Book online خود SQL Server استفاده نمايند. در مطالب زير كه سلسله وار مباحث SQL Server را مرور خواهيم كرد , سعي شده تا ابتدا مطالب مقدماتي جهت آشنايي آورده شود و سپس اگر عمري باقي بود به مطالب پيشرفته آن بپردازيم. همچنين براي يادآوري خدمت دوستان ابتدا مرور سريعي بر چند دستور SQL كه كاربرد بيشتري دارند خواهيم پرداخت و سپس به SQL Server و مطالب آن خواهيم پرداخت . مطالب زير اكثرا از كتاب Microsoft SQL Server 7.0 Database Implementation Training انتخاب گرديده است . اين كتاب به همراه CD آموزش آن به عنوان يك مرجع براي امتحانات مايكروسافت استفاده مي شود. جداول بكار رفته نيز همگي در SQL Server 7.0 در Database Northwind موجود هستند.
    دستور Select اين دستور كه دستوري مستقل نيست و حتما بايد با اجزايي بكار رود جهت ساخت پرس و جو بر روي بانك اطلاعاتي بكار مي رود و ركوردهايي كه با شرايط اين دستور همخوان باشد به عنوان نتيجه پرس و جو برمي گرداند . چهار كلمه كليدي وجود دارند كه بخشهاي ارزشمند اين دستور را تشكيل مي دهند :
    1- select 2- from 3- where 4- order by شكل كلي دستور : Select [*|distinct column1, column2,…] From table[,table2,…] Where شرط Order by نام فيلد يا شماره فيلد مثال : Select * from customers اين دستور تمام ركوردهاي جدول customers را برمي گرداند. كه نتيجه 91 سطر از اطلاعات اين جدول خواهد بود حال اگر شرط Country ='uk' اضافه كنيم ، فقط اطلاعات مشتريان انگليس جواب خواهند بود كه به 7 سطر تقليل مي يابد. select * from customers where Country ='uk' حال select City,Country from customers order by city فقط ستونهاي نام شهر (city) و نام كشور (Country) را بر گردانده و بر اساس نام شهر مرتب ميكند. دستور بالا با دستور پايين هردو يك جواب را ميدهند : select City,Country from customers order by 1 كه 91 سطر بازگردانده خواهد شد . در نتيجه پرس و جو تعدادي سطر تكراري وجود دارد مانند شهر London كه اگر از كلمه Distinct در Select استفاده كنيم اين سطرهاي تكراري حذف خواهد شد . select distinct City,Country from customers order by 1 و جواب 69 سطر خواهد بود. استفاده از توابع در Select 1- Count : تعداد سطرهاي بازگردانده شده توسط select را ميشمارد. Select Count from Customers where Country ='uk' در اصل تعداد مشترياني را ميشمارد كه در كشور انگليس هستند. كه عدد 7 جواب است. 2- Sum : مجموع يك فيلد عددي را برمي گرداند. Select sum(Quantity) from [Order Details] where productid = 11 مجموع فيلد Quantity را براي فيلدهايي كه شماره محصول آنها ( Productid) برابر 11 است را محاسبه ميكند
    نكته 1 : در دستور select مي توان از اسم مستعار استفاده كرد ، يعني نام جديدي را براي يك ستون در نظر گرفت به عنوان مثال select قبل را به شكل زير بكار برد : Select sum(Quantity) as Sum_QTY from [Order Details] where productid = 11 كه Sum_QTY يك اسم مستعار براي مجموع است. استفاده از كلمه كليديas اختياري است.
    نكته 2 : در دستور select هرگاه اسم فيلدي اسم خاص باشد و يا فاصله بين اسم باشد مثل Order Details كه فاصله بين اسم جدول است حتماُ از علامت براكت [] ميبايست استفاده كرد.
    نكته 3 : استفاده از group by : هنگامي كه از توابع count و Sum به همراه يك فيلد ديگر در دستور select استفاده مي شود از group by استفاده مي كنيم . به عنوان مثال دستور زير جمع مقادير فيلد Quantity را براي هر شماره محصول محاسبه ميكند . Select productid, sum(Quantity) as sum_qty from [Order Details] group by productid كه نتيجه مانند زير خواهد بود : productid sum_qty ----------- ----------- 61 603 3 328 32 297 6 301 41 981 64 740 9 95 12 344 در صورتيكه دستور ordr by 1 بعد از group by استفاده كنيم نتيجه بر اساس كد محصول مرتب خواهد شد. نكته 4 : دستور where مي تواند خود شامل يك دستور select باشد : select * from Products where ProductID in ( select distinct ProductID from [order details] where Quantity >70) order by ProductID تنها نكته اي كه مي بايست توجه كرد اين است كه نام فيلدي كه در شرط آورده مي شود حتما در دستور select آورده شود, به عبارت ديگر select درون شرط تنها يك ستون را مي بايست برگرداند . تمرين : با فرض اينكه دو جدول Products و order details داراي ستون (فيلد) يكسان ProductID هستند , يك دستور Select بنويسيد كه تمام فيلدهايي از Products را نشان دهد كه فيلد ProductID آن با ProductID جدول order details يكي باشد.؟
    حل : Select pr.* From Products as pr , [order details] as od Where pr. ProductID = od. ProductID قابل به ذكر است كه بيش از 90% از كارهايي كه ما برروي جداول انجام مي دهيم با select و تركيبات آن انجام مي شود. لذا بدست آوردن تبحر در نوشتن select ها مي تواند شما را در تهيه برنامه ها ياري كند. 3- Min,max : بيشترين و كمترين مقدار فيلد را در بانك اطلاعاتي بدست مي دهد. Select min (Quantity) from [Order Details] 4- Top n : تعداد n سطر اول بانك اطلاعاتي را برمي گرداند. Select top 5 * from [Order Details] 5 سطر اول بانك را برمي گرداند. نكته 3 : در حالت بالا اگر مقدار سطر 5 و 6 يكي باشد فقط سطر 5 جواب خواهد بود براي گريز از اين حالت از شكل زير در اين دستور استفاده ميكنيم : Select top n with ties * From table 5- Into Select * from table1 into table2 اطلاعات table1 را به table2 كپي ميكند. البته table2 بايد از قبل وجود نداشته باشد. اين دستور خود table2 را ميسازد. دستور select قويترين و كاربردي ترين دستور در sql است كه خود ماهها نيازمند تمرين و آموزش است . براي اطلاعات بيشتر به books online خود Sql Server مراجع كنيد. دستور Delete براي حذف اطلاعات از يك بانك اطلاعاتي استفاده ميشود. شكل كلي دستور : Delete table1 Where
    شرط مثال : فرض كنيد جدول authors موجود باشد و فيلد كليد آن au_id باشد. براي حذف 10 سطر اول اين جدول از دستور زير استفاده مي كنيم : DELETE authors FROM (SELECT TOP 10 * FROM authors) AS t1 WHERE authors.au_id = t1.au_id دستور insert براي اضافه كردن اطلاعات به يك جدول از اين دستور استفاده ميشود. Insert into table1 (f1,f2,…) Values (v1,v2,…) كه f1,f2 نام فيلدها و v1,v2 مقادير آنها ميباشد. البته ميتوانيد مقادير را نتيجه يك select قرار داد. مثال : Insert into table1 Select top 10 From table2 مقدار 10 سطر اول را از table2 را در table1 درج ميكند. البته بايد تعداد فيلدها يكي باشد. در غير اينصورت از values استفاده كنيد.
    uody

  12. کاربرانی که از پست مفید uody سپاس کرده اند.


  13. #7
    دوست آشنا
    رشته تحصیلی
    کارشناسی کامپیوتر نرم افزار
    نوشته ها
    1,167
    ارسال تشکر
    2,113
    دریافت تشکر: 2,967
    قدرت امتیاز دهی
    44
    Array

    پیش فرض پاسخ : آموزش SQLserver

    آموزش SQL Server (قسمت دوم)
    آموزش Enterprise Manager ميتوان گفت قلب Sql Server است. در Enterprise Manager شما ميتوانيد يك اتصال به سرور Sql برقرار كنيد . table بسازيد. User تعريف كنيد و..... علامت فلش سبز نمايانگر فعال بودن سرور است. سرور ميتواند local باشد مانند بالا و يا يك Sqlserver باشد برروي يك سرور . براي ايجاد يك سرور جديد يا به عبارت ديگر وصل شدن client (ويندوز 98) به يك سرور ديگر بر روي يكي Microsoft Sql Server يا SQL Server Group و يا برروي سرور موجود كليك سمت راست كرده و گزينه New Sql Server Registratin را انتخاب كنيد.

    سپس كليد next را انتخاب كنيد. سپس در منوي بعدي در available Server نام سرور خود را تايپ كنيد . (نام سرور SQL خود را كه برروي ويندوز 2000 خود نصب كرده ايد) و بعد كليد add را فشار دهيد.و گزينه next را انتخاب كنيد. در پتجره بعد از شما سوال ميكند كه آيا از username ويندوز استفاده كند و يا اينكه از يك username مخصوص خود Sql Server استفاده كنيد.
    گزينه دوم را انتخاب كرده و سپس Login Name و Password را وارد كنيد. (در حالت پيش فرض sa بعنوان login name و فضاي خالي بجاي Password وارد كنيد.) پس از چند بار فشار كليد next شروع به وصل شدن به Server ميكند. در صورت موفقيت آميز بودن با پيامي اين كار را اطلاع ميدهد.
    از ديگر گزينه ها شما بيشترين استفاده را از Databases خواهيد كرد.

    به عبارت ديگر هر كار و پروژه ما بعنوان يك Database در سرور sql قرار ميگرد. همه جداول و دستورات مربوط به آنها در اين محل نگهداري مي شود. با كليك سمت راست برروي Databases و انتخاب New Database... ميتوانيد يك Database جديد براي خودتان بسازيد. پس از انتخاب نام آن را تاييد كنيد.

    هر Database شامل موارد زير است :

    1- Diagram : ارتباط جداول را نشان ميدهد.
    2- Tables : جداول پروژه را نشان ميدهد.
    3- Views : ديدهاي پروژه را نشان ميدهد.
    4- Stored Procedure : كدهاي sql مربوط به عملياتهاي روي جداول را نگهداري ميكند.
    5- Users : كاربران تعريف شده بر روي اين database را نشان ميدهد.
    6- Roles: قوانين دسترسي به جداول و پروسيجرها را نشان ميدهد.
    7- Rules : قوانين مربوط به داده ها را در جداول نشان ميدهد.

    گزينه هاي 7 به بعد كاربرد آنچناني براي كارهاي ابتدايي ندارند ايجاد يك جدول جديد :
    براي ايجاد يك جدول جديد بروي tables كليك سمت راست كرده و گزينه New Table را انتخاب كنيد.
    سپس در كادر بعدي نام جدول را انتخاب كنيد. حال فيلدها و نوع آنها را مشخص كنيد . بعد از مشخص كردن نوع و احتمالاً طول فيلد , بايد مشخص كنيد كه آيا فيلد هميشه مي بايست مقدار داشته باشد و يا مي تواند null باشد. Allow Nulls اگر تيك داشته باشد يعني اينكه اين فيلد مي تواند هيچ مقداري به خود اختصاص ندهد. تذكر : مقدار null را با فضاي خالي اشتباه نگيريد. در قسمت Default Value مقدار اوليه براي فيلد وارد كنيد. تا در صورتيكه هيچ مقداري درج نشد آن مقدار درج شود. (در دستور insert ) اگر Identity را تيك بزنيد اين فيلد بشكل خود افزا خواهد شد كه اولا بايد نوع فيلد عددي و ثانيا مقدار گامها در Identity increment مشخص شود.
    مقدار اوليه آن را هم مي توانيد در Identity Seed قرار دهيد. بدين شكل با اين مقدار شروع و با گامهاي مشخص شده حركت خواهد كرد. تذكر : هيچ مقداري در اين فيلد نمي توانيد درج كنيد , چراكه خود سيستم اين مقدار را توليد مي كند . براي مشخص كردن فيلد كليد (يا فيلدهاي كليدي) فيلد(ها) را انتخاب و بر روي علامت كليد بر روي Toolbar كليك كنيد . تذكر : فيلد كليدي نمي تواند Allow Nulls باشد. تذكر : براي تعريف index كليك سمت راست كرده و index/keys را انتخاب كنيد . ( در مورد index بطور مفصل صحبت خواهد شد ) ايجاد Stored Procedure : مانند هر زبان ديگر رويه ها در sqlServer نيز موجود مي باشند. و بكار ميروند. سه رويه insert , Updaet و Delete را مي توانيد براحتي با ويزاردهاي خود SqlServer بسازيد. از اينجا به بعد از واژه SP بجاي رويه استفاده خواهيم كرد. ابتدا با ساختار كلي SP آشنا شده و سپس به ويزارد موجود خواهيم پرداخت.

    براي ايجاد يك SP جديد ابتدا برروي گزينه Stored Procedure كليك سمت راست كرده و گزينه new Stored Procedure... را انتخاب كنيد. در پنچره بعدي شما مي توانيد متن SP را وارد كنيد. 1- نام sp : ابتدا بجاي [PROCEDURE NAME] يك نام براي SP خود در نظر بگيريد. من خود از ساختار زير بدين منظور استفاده ميكنيم : عمليات_نام جدول عنوان مثال اگر نام جدول Sale و عمليات مورد نظر يك عمليات insert باشد نام SP را Sale_INSERT ميگذاريم. بهتر است نام عمليات با حروف بزرگ تايپ شود .
    البته بعضي از دوستان از سه حرف عمليات استفاده مي كنند. براي مثال بالا خواهيم داشت :Sale_INS . 2- تعريف پارامترها : براي تعريف پارامترهاي ورودي SP قبل از كلمه كليدي As آنها را داخل پرانتز مشخص كنيد. بدين شكل كه ابتدا علامت @ سپس نام پارامتر بعد فاصله و نوع پارامتر. تذكر : تمامي متغييرها در SP از ساختار نام متغيير@ پيروي ميكنند. بعنوان مثال فرض كنيد يك SP داراي دو پارامتر با نامهاي Id از نوع int و Name از نوع Varchar(20) باشد , داريم @id int,@name varchar(20)) حال بعد از As دستورات مورد نظر را تايپ ميكنيم : مثال 1 : SP بنويسيد كه چهار حرف اول فيلد LastName و فيلد FirstName را از جدول Employees انتخاب كند به شرطي كه فيلد LastName با حرف A شروع شود ؟ ابتدا برروي Stored procedure كليك سمت راست كرده و گزينه New stored procedure را انتخاب كرده و خطوط زير را تايپ كنيد. بعضي از دستورات پايين در كادر باز شده موجود هستند كه نيازي به تايپ مجدد آنها نيست . create Stored Procedure Employees_BROWSE As Select substring(Lastname,1,4) as LastNmae,FirstName From Employees Where LastName Like ‘%A’ حال بر روي دكمه ok كليك نماييد. حال SP با نام Employees_BROWSE در ليست SP اضافه شده است . مثال 2 : تمام فيلدهاي Employees را انتخاب كنيد كه فيلد BirthDate در يك بازه تاريخي كه به شكل پارامتر وارد ميشود قرار گيرد ؟ create Stored Procedure Employees_BROWSE2 (@StartDate char(10) , @EndDate char(10)) As Select * From Employees Where BirthDate between @StartDate and @EndDate حال براي اجراي SP ها در Query Analyzer كافي است بنويسيم : نام Exec SP بعنوان مثال :Exec Employees_browse اگر پارامتر داشت مقدار پارامترها را هم مي آوريم : Exec Employees_Browse2 ‘01/01/1940’ , ‘15/06/1955’ 3- تعريف متغيرها : براي تعريف متغيرها مي بايست از كلمه كليدي Declare استفاده كنيم. بعنوان مثال : Declare @myname varchar(50) متغيير @myname از نوع كاركتري پويا تعريف ميكند. 4- برگرداندن كد خطا : بدين منظور از دستور return @@Error گرچه هرمقداري را كه بخواهيم مي توانيم با دستور return برگردانيم. 5- تعريف پارامترها كه مقداري را برمي گردانند : براي اين منظور هنگامي كه پارامتر را در ابتداي پروسيجر تعريف ميكنيم بعد از نوع آن از كلمه كليدي output مي كنيم بعنوان مثال : create Stored Procedure Employees_BROWSE2 (@StartDate char(10) , @EndDate char(10) , @pp varchar(10) output) As 6- مقدار دهي به متغييرها : به دو روش مي توانيد اين كار را بكنيد يكي با دستور Set و ديگري با دستور Select . 7- دستورات شرطي :مانند ديگر زبانها شما مي توانيد در Sql دستورات شرطي را بكار ببريد. ساختار آن به شكل زير است : If شرط then دستور If شرط then Begin دستور1 دستور2 ... end مثال : If @Sdate > @Edate set @newDate = @Sdate 8- دستور Set NOCOUNT on : اين دستور از نوشت تعداد سطرهاي برگردانده شده توسط دستورات جلوگيري ميكند. كاربرد مهم آن زماني است كه شما چند كار را پشت سرهم در SP انجام ميدهيد. مثلا يك جدوي موقت ميسازيد و سپس از آن يك تعدادي از فيلدها را با دستور Select انتخاب مي كنيد.
    اگر اين دستور را در ابتداي SP استفاده نكتيد , هنگامي كه ميخواهيد از آن SP در يك زبان برنامه نويسي استفاده كنيد با خطاي SP هيچ dataset ي برنمي گرداند مواجه خواهيد شد. تذكر1 : شما مي توانيد يك SP را در يك SP ديگر فراخواني كنيد. براي اين منظور همانطور كه قبلا گفته شد از دستور exec استفاده نماييد. تذكر 2 : با دستور exec شما مي توانيد يك دستور sql را نيز اجرا كنيد. اين كار زماني بكار مي آيد كه دستور مورد نظر پويا و متغير باشد. مثال : Exec (“ select * From Employees Where “+@Shart) اين شرط ميتواند بر اساس فيلدهاي بانك توليد گردد. مثال : يك SP بنويسيد كه اختلاف تعداد سفارشاتي كه فيلد ShipCountry آنها France يا German باشد. را برگرداند ؟
    create Stored Procedure Order_France_German ( @Outp int output) as declare @Count_France int , @Count_German int select @Count_France = Count from orders where ShipCountry = 'France' select @Count_German = Count from orders where ShipCountry = 'German' if @Count_France is null set @Count_France = 0 if @Count_German is null set @Count_German = 0 set @outp = @Count_France - @Count_German
    uody

  14. کاربرانی که از پست مفید uody سپاس کرده اند.


  15. #8
    دوست آشنا
    رشته تحصیلی
    کارشناسی کامپیوتر نرم افزار
    نوشته ها
    1,167
    ارسال تشکر
    2,113
    دریافت تشکر: 2,967
    قدرت امتیاز دهی
    44
    Array

    پیش فرض پاسخ : آموزش SQLserver

    آموزش SQL Server (قسمت سوم)
    در اين قسمت در ادامه مطالب قبلي مبحث SP خواهيم پرداخت و آن را كامل خواهيم كرد. در قسمت بعدي مطلب با View ها آشنا خواهيم شد. ايجاد Stored Procedure با استفاده از ويزارد ها: براي ايجاد SP هاي استاندارد جهت عمليات درج , حذف و ويرايش شما مي توانيد از ويزاردهاي خود SQL استفاده نماييد. با اين ابزار شما قادريد طي چند دقيقه تعداد زيادي SP جهت عملياتهاي گفته شده بر روي جداول خود بسازيد. براي اين منظور در Enterprise Manager بر روي كليد ويزارد كليك نماييد مانند شكل زير : بعد در پنجره Select Wizard بر رويDatabase كليك و گزينه Create Stored Procedure Wizard را انتخاب نماييد .
    مانند شكل زير : در پنجره بعدي به شما خوش آمد گويي مينماييد . برروي كليد Next كليك نماييد.در پنجره بعدي نام Database ي را كه قرار است بر روي جداول آن كار شود انتخاب نماييد و بروي Next كليك نماييد. در پنجره بعدي جداول و عمليات مورد نظري كه مي خواهيد انجام دهيد انتخاب كنيد. در پنجره بعدي نام SP هايي كه سيستم ساخته شما خواهيد ديد. براي ويرايش نام و يا كد هركدام از آنها ميتوانيد آن Sp را انتخاب و كليد Edit را فشار دهيد.
    در اينصورت شما پنجره اي به شكل زير خواهيد داشت : حال شما در قسمت Name مي توانيد نام Sp را عوض نماييد. در قسمت Include in Set Clause شما فيلدهايي از جدول مربوطه كه مي خواهيد مقادير آن به شكل پارامتر براي Sp ارسال شود انتخاب نماييد. اگر Sp شما Update و يا Delete باشد در قسمت Include in Where Clause شما مي توانيد فيلدهايي كه قرار است در شرط (دستور Where) قرار مي گيرند انتخاب نماييد.
    تذكر1 : اگر فيلدي از نوع Identity داريد در حالت Insertحتما از قسمت Include in Set Clause خارج كنيد. در غير اينصورت در زمان اجرا با خطا مواجه خواهيد شد.
    تذكر2 : SQL فيلد كليدي جدول را در دستور Update در دستور Where خواهد آورد . همچنين شما اين فيلد را از Include in Set Clause خارج كنيد. در نهايت شما با فشار كليد Finish همزمان اين Sp را خواهيد ساخت. تا اين قسمت شما با ساخت Sp آشنا شديد. حال براي ويرايش آن نيز كافي است بر روي Sp كليد نموده و در پنجره باز شده كد آن را ويرايش نماييد
    uody

  16. کاربرانی که از پست مفید uody سپاس کرده اند.


  17. #9
    دوست آشنا
    رشته تحصیلی
    کارشناسی کامپیوتر نرم افزار
    نوشته ها
    1,167
    ارسال تشکر
    2,113
    دریافت تشکر: 2,967
    قدرت امتیاز دهی
    44
    Array

    پیش فرض پاسخ : آموزش SQLserver

    آموزش SQL Server (قسمت چهارم)
    در ادامه مطالب آموزش SQL حال به بحث ديدها (view) مي پردازيم. ديد در اصل يك جدول مجازي است كه محتوي آن توسط يك پرس و جو تعريف مي گردد. همانند جدول ديد هم داراي سطر و ستونهايي مي باشد. مي توان به موارد زير به عنوان مزاياي ديد اشاره كرد : ديدها به كاربران اجازه ميدهند تا بر روي داده هايي كه نياز دارند متمركز شوند. بنابر اين داده هاي غير ضروري ميتوان از ديد خارج كرد. ديدها امنيت داده ها را نيز افزايش ميدهند چراكه كاربر فقط داده هايي را مي بيند كه در ديد وجود دارند. ديدها به كاربران اجازه ميدهند تا داده ها را به روشهاي متفاوت مشاهد نمايند. ديدها ميتوانند براي مبادله داده ها با ساير برنامه هاي كاربردي بكار روند. و .... ايجاد ديد : وقتي ديدي را ايجاد ميكنيد نام آن مي بايست در بين نام جداول و ديگر ديدهايي كه كاربر مورد نظر آنها را ساخته , يكتا باشد.در SQL Server 7.0 شما امكان ايجاد شاخص بر روي ديدها را نداشتيد , ليكن اين امكان در SQL 2000 اضافه شده است. مراحل ايجاد يك ديد :
    1- erprise Manager را باز كرده و بر روي Databases كليك كرده و پايگاه داده اي را كه مي خواهيد ديد در آن ايجاد كنيد . باز كنيد.
    2- روي Views كليك راست كرده و سپس گزينه New View... را انتخاب كنيد.
    3- در پنجره بعدي كليك سمت راست كرده و گزينه Add Table... را انتخاب كنيد.
    4- دكمه هاي Table و يا Views جدول و يا ديد هاي مورد نظر را انتخاب نماييد. و بر روي دكمه Add كليك نماييد. اين كار را براي تمام جداول و يا ديدهاي مورد نظر تكرار كنيد و سپس بر روي دكمه Close كليلك نماييد. در قسمت Column از پانل مشبك , ستونهايي را كه ميخواهيد در ديد به آنها ارجاع نماييد انتخاب كنيد. اگر ميخواهيد ستوني در مجموعه نتيجه ديده شود گزينه Output متناظر با آن مي بايستي حتما تيك داشته باشد. در ستون Criteria شرط را بنويسيد. چند شرط را ميتوانيد در ستونهاي OR تكرار كنيد. براي گروه بندي برروي ستون Criteria كليك سمت راست كرده و گزينه Group By را انتخاب نماييد. در اينصورت شما قادر خواهيد بود از توابعي همچون Sum استفاده كنيد.
    تذكر : اگر Group by را انتخاب كرده باشيد. تمام شرايط كه در ستون Criteria بنويسيد به عنوان شرايط Having در نظر گرفته ميشوند. براي اينكه اين محدوديتها به شرط Where اضافه گردند , بر روي پانل مشبك متناظر كليك كرده و از ليست مورد نظر گزينه where را بجاي Group by انتخاب كنيد.
    تذكر 2 : در ستون Alias شما ميتوانيد يك اسم مستعار براي اين ستون در نظر بگيريد. براي ديدن نتايج ديد بر روي علامت (!) كليك نماييد. توجه داشته باشيد كه ارتباط ها در صورتي برقرار ميشود كه كليدهاي خارجي بر روي جداول وجود داشته باشد. گرچه شما مي توانيد با انتخاب فيلد مورد نظر و حركت ماوس در حاليكه كليك سمت چپ را فشار داده ايد مابين دو جدول ارتباط را برقرار كنيد.


    منبع:.freedownload.ir
    uody

  18. کاربرانی که از پست مفید uody سپاس کرده اند.


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 1
    آخرين نوشته: 21st April 2012, 01:05 AM
  2. مقاله: آموزش Online ره آورد نوین فناوری برای بهبود کیفیت
    توسط MR_Jentelman در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 29th September 2010, 12:09 AM
  3. مقاله: یادگیری الکترونیکی
    توسط آبجی در انجمن بخش مقالات وب و اینترنت
    پاسخ ها: 0
    آخرين نوشته: 21st February 2010, 10:59 PM
  4. معرفی: هيئت هاي استانداردهاي بين المللي آموزش حسابداري
    توسط پديده در انجمن اصول حسابداري و استاندارد ها
    پاسخ ها: 0
    آخرين نوشته: 21st February 2010, 05:01 PM
  5. مقاله: آموزش و پرورش در اسپانیا
    توسط *مینا* در انجمن علوم تربیتی
    پاسخ ها: 0
    آخرين نوشته: 20th November 2009, 10:49 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •