نمایش نتایج 1 تا 8 از 8

نام تاپیک: آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

  1. #1
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

    Question آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

    آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟
    مثلا برای درج ویرایش و ... اگر از sp استفاده کنیم برنامه وابسته به بانک اطلاعاتی نمی شود؟
    بهتر نیست برای انجام اعمال فوق از کد نویسی داخل سی شارپ استفاده شود؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

    دوست عزیز این وابسته که میگین یعنی چی؟ شما مگه نمیخوای این کد ها روبرای دیتابیس استفاده کنی؟؟؟؟؟؟؟؟؟؟

  3. #3
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

    نقل قول نوشته شده توسط momimomi مشاهده تاپیک
    آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟
    مثلا برای درج ویرایش و ... اگر از sp استفاده کنیم برنامه وابسته به بانک اطلاعاتی نمی شود؟
    بهتر نیست برای انجام اعمال فوق از کد نویسی داخل سی شارپ استفاده شود؟
    خوب اگه دیتابیس نداری پس نیازی هم نه به sp داری نه کدنویسی واسه بانک

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

    نقل قول نوشته شده توسط momimomi مشاهده تاپیک
    آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟
    مثلا برای درج ویرایش و ... اگر از sp استفاده کنیم برنامه وابسته به بانک اطلاعاتی نمی شود؟
    بهتر نیست برای انجام اعمال فوق از کد نویسی داخل سی شارپ استفاده شود؟
    سلام.
    منظورتون از وابستگی دقیقا چی هست؟
    بهرحال برنامه ای که از بانک اطلاعاتی استفاده میکنه وابسته به سرویس (های) اون بانک اطلاعاتی برای استفاده از داده های ذخیره شده هست.
    ولی در کل بحث Stored Procedure ها یکی از بحث های حرفه ای در بخش کار با دیتابیس هست که 3 ویزگی برتر اون در مقایسه با کدنویسی مستقیم به قرار زیر هست :
    1. Performance بالاتر : در کدنویسی مستقیم،در هر بار و زمانیکه شما یک دستور sql (همون Tsql ) رو از سمت برنامه (مثلا #C) به سمت دیتابیس می فرستید (یک درخواست مثل لیست همه کالاها). برای به سرانجام رسیدن این درخواست بایستی مراحل زیر انجام بشه :
    بعد از انتقال دستور شما (select ، update و ...) از سمت برنامه به سمت سرور (دیتابیس) کارهای زیر هر بار انجام میشه :
    a) در سمت سرور ابتدا از لحاظ syntax چک میشه که آیا این دستور قابلیت اولیه برای اجرا شدن رو داره یا نه.
    b) در صورت صحت مرحله قبل یک Execute Plan برای دستور شما توسط sql server اختصاص داده میشه.
    c) در مرحله بعد دستور مورد نظر کامپایل میشه.
    d) در نهایت دستور در سمت سرور، Run (اجرا) میشه.
    e) بعد از اجرا، نتیجه کوئری به سمت برنامه کاربردی برگشت داده میشه و ما میتونیم نتیجه کار رو مشاهده کنیم.
    اما در Stored Procedure ها مراحل a و b و c یکبار در سمت سرور انجام میشه و این مراحل دیگه برای اون sp تکرار نمیشه. به همین خاطر هست که سرعت Stored procedure ها بیشتر از کدنویسی مستقیم هست (هر چقدر برنامه و کوئری ها پیچیده تر باشه این سرعت بیشتر نمایان میشه).
    در کدنویسی مستقیم :

    execute command.jpg

    استفاده از Stored Procedure :

    sp execute.jpg

    2. برنامه نویسی modular (ماژولار) : یک SP یکبار نوشته میشه ولی میتونید اون رو بارها در قسمت های مختلف برنامه (با توجه به نیازتون) صدا بزنید بدون اینکه نیازی به نوشتن چندین باره کدها باشه. خوانایی بالاتری رو هم شاهد خواهیم بود.
    3. امنیت بالاتر : شما میتونید کدهای درون یک sp رو رمزنگاری کنید تا کدهای داخل اون قابل مشاهده توسط کاربران نباشه. در این حالت یک کاربر فقط میتونه از اون sp استفاده کنه بدون اینکه دغدغه اینو داشته باشید که به کدهای Tsql شما دسترسی داشته باشه.
    همچنین میشه واسه sp ها سطح دسترسی (مجوز) تعریف کرد که فقط افرادی که ما مشخص می کنیم بتونن به اون sp و کدهای درون اون دسترسی داشته باشند.

  5. #5
    کاربر جدید آواتار moeinmohebbi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    27

    نقل قول: آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

    Veniz2008 توضیحات کاملی داد ولی فکر کنم منظور شما چیز دیگه ایه،
    آیا منظورت اینه که بانک از بین بره برنامه ناقص بشه؟ (وابستگی وجودی)
    اگه قراره برنامه از دیتابیس استفاده کنه فرقی نمیکنه که شما از چه روشی استفاده میکنی، به هرحال نباید دیتابیس و برنامه رو جدا از هم بدونی

  6. #6

    نقل قول: آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

    فکر کنم منظور ایشون اینکه فرض کنید بخوایم بانک را عوض کنیم و... آنگاه نیازه تمام sp ها رو تبدیل یا دوباره نویسی کنیم. مثلا بانک قبلی sql بوده الان باید از اوراکل استفاده کنیم.

    حالا یه سوال! با اومدن EF باز هم نیازه از sp استفاده کنیم؟ بخصوص برای ثبت یه مقادیر ساده و... اصلا مگه EF و Linq دستورات را تحت بانک اجرا نمیکنند؟ خب یه چیزی میشه شبیه همون sp.
    ضمنا این وابستگی هم از بین میره.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

    نقل قول نوشته شده توسط maktab مشاهده تاپیک
    حالا یه سوال! با اومدن EF باز هم نیازه از sp استفاده کنیم؟ بخصوص برای ثبت یه مقادیر ساده و... اصلا مگه EF و Linq دستورات را تحت بانک اجرا نمیکنند؟ خب یه چیزی میشه شبیه همون sp.
    گرچه استفاده از sp ها در EF ضروری نیست! ولی stored procedure ها اونقدر قوی هستن که در اکثر کتاب هایی که درباره EF نوشته میشه یک فصل مجزا رو به نحوه استفاده sp ها درون EF اختصاص میدن.
    یه موردی که درباره کوئری های نوشته شده با زبان linq وجود داره اینه که این کوئری ها در نهایت باید به دستورات قابل فهم و زبان استاندارد اون پایگاه داده تبدیل بشن. این یعنی انجام دادن یک مرحله کار اضافی ولی مزیت بسیار خوبی هم وجود داره داره. شما یک زبان واحد (linq) رو یاد میگیری و دیگه دغدغه یادگیری دستورات پایگاه داده های مختلف رو ندارید. دیگه نیازی نیست که بدونیم دستور join در اوراکل به چه شکل هست یا در MySQL به چه شکلی هست. فقط کافیه دستور معادل با LINQ اونو بلد باشیم، کار تبدیل رو خود provider مربوطه انجام میده.
    ضمنا این وابستگی هم از بین میره.
    این یکی از ویژگی های خوب EF هست که همون اسقلال اون از دیتابیس هست.

  8. #8
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

    نقل قول: آیا استفاده از روال ذخیره شده(sp) برنامه را وابسته به بانک اطلاعاتی نمی کند؟

    با سلام خدمت تمام دوستان گل, ممنون بابت وقتی که گذاشتین و جواب های مفیدی که ارائه نمودین
    بنده جوابمو در 2 پست آخر گرفتم.

تاپیک های مشابه

  1. سوال: آیا امکان استفاده از فرمهای ساخته شده توسط برنامه اکسس در صفحات وب هست؟
    نوشته شده توسط khalil-s در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: سه شنبه 17 آبان 1390, 01:54 صبح
  2. روال ذخیره شده
    نوشته شده توسط nasrin_sf در بخش SQL Server
    پاسخ: 2
    آخرین پست: دوشنبه 24 اردیبهشت 1386, 22:22 عصر
  3. دریافت پارامتر برگشتی از اجرای روال ذخیره شده
    نوشته شده توسط .مهدی فهمیده غلامی. در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 11 خرداد 1385, 11:00 صبح
  4. دریافت پارامتر برگشتی از اجرای روال ذخیره شده
    نوشته شده توسط .مهدی فهمیده غلامی. در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 10 خرداد 1385, 15:37 عصر
  5. استفاده از connectionStringSqlserver ذخیره شده در web.config
    نوشته شده توسط turk_programmer در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: پنج شنبه 04 تیر 1383, 13:05 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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