تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

نام تاپيک: چند سوال تئوریک درباره SQL سرور

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Sep 2009
    پست ها
    5

    پيش فرض چند سوال تئوریک درباره SQL سرور

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

    در سطح مقدماتی با VB.net و بانک های اکسس کار کردم و حالا می خوام SQL سرور رو شروع کنم منتها چند سوال آغازین دارم که .............

    این واژه "سرور به همراه SQL" چی هست؟
    برای ساخت یه بانک SQL و استفاده از اون در برنامه مون باید کدوم نسخه SQL رو نصب کنیم. فقط برای وارد کردن اطلاعات توسط کاربر و نمایش اطلاعات در فرم ها و گزارش گیری از اونها

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

    فعلا همین ها رو اگه جواب بدبد ممنون میشم

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    این واژه "سرور به همراه SQL" چی هست؟
    SQL زبان استاندارد کار با بانکهای اطلاعاتی است که در خود Access و موتور JET و سایر بانک های اطلاعاتی موجود وجود دارد.

    ولی Microsoft SQL Server نام تجاری یک محصول است.
    البته کلمات این نام مفهوم صحیح انگلیسی هم دارند.

    SQL Server با Access که کار کردید اصلاً قابل قیاس نیست.
    Access در واقع هیچ امکاناتی ندارد ولی SQL Server انواع قابلیت ها و سرویس ها را دارد.

    از بزرگترین مزیتهای SQL Server که در نامش متجلی است، قابلیت کارکرد شبکه ای و سروری است.
    یعنی من میتوانم در رایانه ای در کاندا SQL Server نصب و پیکر بندی کنم و آن را به اینترنت وصل خودم.
    و خودم از رایانه در ایران (حتی بدون نصب SQL Server) به سرور کانادا متصل شوم و نکته جالب این است که دستورات برناموه نویسی ام در مقابل شرایط کارکرد عادی بانک در رایانه خودم فرقی نمیکند!!!

    یعنی اگر بانک در رایانه خودم باشد در ConnectionString از یک نقطه یا کلمه (local) استفاده میکنم و اگر سرور در کانادا باشد، کافی است ip سرور را به جای نقطه قرار دهم و یک خط کدنویسی تغییر نمیکند.

    ضمن اینکه SQL Server میتواند مدیریت چند سروری هم داشته باشد.
    اصولاً چون بانک های تجاری SQL Server میتوانند حجم های نجومی هزاران و حتی چند صد هزار ترابایتی داشته باشد(!)، منطقی نیست که فقط روی یک رایانه قرار گیرد و ...

    در کل داشتن این امکانات میتواند دلیل اضافه شدن واژه Server به نام تجاری برنامه فوق از طرف شرکت مایکروسافت باشد.
    بحرحال نام این محصول SQL Server است و این نامش است، مثل Photoshop و حتماً لازم نیست دلیلی داشته باشد!

    =====

    برای ساخت یه بانک SQL و استفاده از اون در برنامه مون باید کدوم نسخه SQL رو نصب کنیم
    آیا باید همین نسخه کامل SQL رو رو سیستمش نصب کنه ...
    بحث سر وجود نسخه ورژنی و نگارشی مختلف است.
    از نظر ورژن استفاده کننده نباید از ورژن پایین تری استفاده کند.

    یعنی اگر شما بانک را با SQLServer2005 طراحی کرده اید در رایانه مشتری باید SQLServer2005 یا SQLServer2008 نصب شود و نمیتوان SQLServer2000 نصب کرد.

    از نظر نگارشی مشکل خاصی وجود ندارد، مگر آنکه از امکانات خاصی استفاده کرده باشید.
    مثلاً SQL Server Express کاملاً رایگان است در عوض محدودیت هایی دارد و مثلاً نمیتواند بانکش از 2G یا 4G بزرگتر شود.
    برخی از سرویس های خیلی خاص هم در آن در دسترس نیست.

    ولی برای عموم برنامه های عادی برنامه نویسان معمولاً همان نگارش Express خوب است.
    به هرحال کاربر و مشتری میتواند هر نگارشی را مشروط به شمول امکانات استفاده شده نصب کند.

    البته اگر برنامه شما شبکه ای باشد و مثلاً رایانه سرور در طبقه و اتاق خاصی از ساختمان شرکت باشد و بقیه رایانه های آن شرکت در شبکه محلی همان ساختمان از بانک اطلاعاتی سرور بخواهند استفاده کنند در حالت عادی و معمول کلاینتها نیازی به نصب SQLServer ندارند.

    =====

    نسخه SQLServer Express را میتوان به سادگی و بدون نمایش دیالوگ خاصی و با زمان کم همراه برنامه و Framework و... نصب کرد.
    و امکانات همین نسخه رایگان به ذات خیلی فراتر از Access و موتور JET و فایلهای mdb است ، ضمن اینکه این نسخه رایگان توانایی اتصال با دادن مسیر فایل را هم دارد که برای کربران قدیمی access روشی آشنا است.

    با وجود نسخه رایگان SQLServer Express و داشتن امکانات بیشتر دلیل خاصی برای استفاده از Access نمیبینم.

    =====

    موفق باشید.

  3. 3 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  4. #3
    در آغاز فعالیت
    تاريخ عضويت
    Sep 2009
    پست ها
    5

    پيش فرض

    منون از پاسخ شما, جامع و خلاصه بود ............... اما

    من سوال سومم رو درست متوجه نشدم یا شاید من درست مطرح نکردم

    منظور من اینه که : برنامه می نویسم که از بانک اطلاعاتی SQL استفاده می کنه . کاربر نهایی که می خواد این برنامه رو رو سیستمش اجرا کنه حتما باید SQL رو سیستمش نصب باشه یا نه (من قبلا یه همچین برنامه ای داشتم که دانلودش کرده بودم خودش هم گفته بود که از بانک SQL استفاده کرده منتها حجم کل برنامه 30 مگابایت بیشتر نبود یعنی SQL رو سیستم من نصب نبود و عالی کار می کرد).

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    حتما باید SQL رو سیستمش نصب باشه یا نه
    مجدد تاکید میکنم که SQL برابر نیست با SQLServer و این دو با هم فرق دارند.

    برای یک برنامه عادی SQLServer باید در رایانه نصب شود.

    (ولی برای برنامه شبکه ای نصب SQLServer در رایانه سرور کافی است.)

    =====

    نقل قول نوشته شده توسط _H2_
    یعنی اگر شما بانک را با SQLServer2005 طراحی کرده اید در رایانه مشتری باید SQLServer2005 یا SQLServer2008 نصب شود ...


    البته اگر برنامه شما شبکه ای باشد ... در حالت عادی و معمول کلاینتها نیازی به نصب SQLServer ندارند.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #5
    در آغاز فعالیت
    تاريخ عضويت
    Sep 2009
    پست ها
    5

    پيش فرض ادامه بحث

    با تشکر از شما :

    خوب نصب کامل SQL server بر روی کامپیوتر کاربر نهایی به نظر شخصی من دو عیب اساسی داره

    1 - کاربر رو مجبور می کنیم که چند صد مگابایت اضفی رو بر روی سیستم خودش نصب کنه, البته اگه سیستم فضای کافی داشته باشه که مشکلی نیست, در غیر اینصورت فحشی هم نصیب خودمون میشه

    2 - مشکل دوم هم اینجاست که ما اگه از نسخه 2005 نرم افزار SQL server استفاده کرده باشیم ............ بنابه گفته شما ................... کاربر هم باید نسخه 2005 نرم افزار SQL server رو روی سیستم خود نصب کنه. یعنی سیستم کاربر نهایی باید در سطحی باشد که از نظر سخت افزاری SQL server 2005 رو ساپورت کنه. یعنی عملا ما تعداد زیادی از مشتریان خود را کنار می گذاریم ( البته در ایران خودمون حداقل واسه نرم افزار هزینه ای پرداخت نمی شه).

    ادامه سوالات

    فرضا اگر از SQL server 2005 استفاده کرده باشیم, کاربر باید حتما همین نسخه را بر روی سیستم خود نصب کند یا نه می تواند از نسخه پایین تر مثلا 2000 می تواند استفاده کند.

    این قضیه attach کردن بانک به برنامه یا شاید سرور چی هست ..... من درست متوجه این موضوع نشده ام

  8. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    1)
    الف)
    شما نصب فوق را در برنامه خودتان قرار میدهد و الآن خیلی عادی است که برنامه ها را در DVD عرضه میکنند در حالی که مباحث ما در CD میگنجد!
    آیا Photoshop و Nero و 3DMax و Word و... یک یا دو مگابایتی هستند؟

    ب)
    میتوانید از SQL Server 2005 Express الستفاده کنید که برای بیشتر موارد به خوبی جواب میدهد و کمتر از 40M است.

    2)
    اصولاً برنامه های دات نتی با سیستم های زیر XP مشکل دارند.
    و اگر رایانه شما XP و Vista و Win7 و Server و... داشته باشد یعنی عموماً حداقل سخت افزار لازم برای کار عمومی تحت دات نت و ابزارآلات آن را هم دارد.

    فرضا اگر از SQL server 2005 استفاده کرده باشیم, کاربر باید حتما همین نسخه را بر روی سیستم خود نصب کند یا نه می تواند از نسخه پایین تر مثلا 2000 می تواند استفاده کند.
    الف)
    در حالت عادی این امکان وجود ندارد ولی به شرط عدم استفاده از امکانات جدید 2005 و 2008 میتوان کارهایی کرد تا برنامه با نسخه کمتر هم کار کند ولی دردسر دارد!
    ولی در کل و در حال حاضر به هیچ وجه نسخه SQLServer زیر 2005 را پیشنهاد نمیکنم و توجیح منطقی ای ندارد.

    ب)
    من نمیدانم چرا به این مطلب ناچیز گیر داده اید!!!
    اصولاً Setup برنامه شما موظف است چیزهایی که برنامه نیاز دارد را نصب کند.
    برای برنامه های غیر شبکه ای و غیر بزرگ، اصولاً این منطقی نیست که برنامه شما به کاربر بگوید، تو باید SQLServer را هم نصب کنی!!
    مسئله خیلی ساده است! برنامه شما Setup میشود و هر چیزی که لازم دارد را خودش نصب میکند! کاربر هم لزومی ندارد اصلاً نام SQLServer را بشنود یا بداند SQLServer جزء موارد غذایی است یا جزء پوشاک !

    این قضیه attach کردن بانک به برنامه یا شاید سرور چی هست ..... من درست متوجه این موضوع نشده ام
    همانطور که گفتم بانکهای اطلاعاتی SQLServer میتوانند در مکان های دیگر و دور باشند و حتی در بین چند رایانه پخش شوند، نتیجتاً دیگر منطقی نیست که با دادن مسیر فایل به آن وصل شوید و مثلاً بنویسید C:\file.mdf !

    attach فقط و فقط یکبار انجام میشود و بانک شما را با مسیر فایلهایش تحویل SQLServer میدهد و یک نام منحصر به فرد برای بانک تخصیص میدهد...
    نتیجتاً دیگر در زمان اتصال دادن مسیر فایل لازم نیست و باید نام دیتابیس مربوطه را فقط داد.
    این عمل attach است.

    ولی نسخه های Express برای سادگی کار با بانکهای کوچک امکان دسترسی به بانک با دادن مسیر را هم میدهند (مثل همان نحوه دسترسی به بانکهای Access) ولی این امکان به ظاهر بدون attach فقط مختص نسخه های Express است.

  9. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  10. #7
    در آغاز فعالیت
    تاريخ عضويت
    Sep 2009
    پست ها
    5

    پيش فرض

    ممنون دوست عزیز,

    خدا آخر و عاقبت همه ماها رو به خیر کنه (آمین)

    سوئ تفاهمم نسبت به سوال قبلی حل شد,

  11. #8
    پروفشنال sari-1369's Avatar
    تاريخ عضويت
    Nov 2007
    محل سكونت
    ساري
    پست ها
    766

    پيش فرض

    میشه یه توضیح کوچیک در مورد function ها در sqlserver بدید ؟ اصلا ابنا چی هستن ، چه کار انجام میدن . کاربردشون کجاست ؟

  12. #9
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    خیلی شبیه SP هستند ولی ...
    SP ها بیشتر SQL های همه کاره ذخیره شده هستند که هر کاری میکتوانند انجام دهند و البته در متن سایر دستورات SELECT و UPDATE و ... قابل استفاده نیستند.

    در عوض Function ها توابعی با ورودی و خروجی مشخص محاسباتی هستند (مثل یک محاسبه ریاضی یا استعلام مقداری خاص از جداول) که هر دستوری در آنها مجاز نیست و مثلاٌ نمیتوانند محتویات دیتابیس را تغییر دهند ولی درعوض در متن سایر دستورات SELECT و UPDATE و ... قابل استفاده هستند.

  13. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  14. #10
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2011
    پست ها
    1

    پيش فرض

    میشه برام توضیح بدی قابلیت execution plan چی هست؟موارد استفاده اش چیه و اصلا کلا به چه درد میخوره و چیکار میشه باهاش کرد؟

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •